2016-07-28 116 views
-1

假設我有一個Spring應用程序,其請求被授權與http.authorizeRequests()和@PreAuthorizeSpring Security的4 - 獲取授權映射

有沒有辦法編程獲取這些映射? 在Spring中是否存在api,我可以檢索哪些url已授權給當前已認證的用戶?

回答

0

我不知道是否有類似於我們更好的方式傳似@RequestHeader請求頭(「內容類型」)......我很想看到...

@PreAuthorize("authorizeAccess(#user,#contentType,)") 
public Idea somemethod(@RequestBody User user, @RequestHeader("Content-Type") String contentType) 
{..} 

,但低於爲絕對是一個選擇。

假設您知道如何編寫覆蓋或編寫自己的方法以用於Spring安全性(自定義類擴展SecurityExpressionRoot)。如果是這樣,如果你有一個方法i.e..authorizeAccess

public boolean authorizeAccess(String mapping) 
{ 
    // use mapping to authorize 
    .. do something 
} 

然後,我們可以將所有的URL在恆定文件..

package org.somepackage; 
public interface URLMappings { 
public static String ADMIN = "/admin"; 
} 

然後通過這些網址作爲常數..

@RequestMapping(value = URLMappings.ADMIN, method = RequestMethod.POST) 
@PreAuthorize("authorizeAccess(T(org.somepackage.URLMappings).ADMIN)")