1
我是Spring Security中的新成員,並且在使用路徑變量或參數對特定URL進行身份驗證時遇到問題。在Spring Security中使用params訪問URL
比方說,我有一些URL:/messages/1
其中1是用戶的ID。
我想要做的只是讓ID爲1的用戶訪問帶有此URL的頁面。
如果用戶通過身份驗證,Spring Security允許訪問某些內容,但是如何才能使身份驗證更窄?
我是Spring Security中的新成員,並且在使用路徑變量或參數對特定URL進行身份驗證時遇到問題。在Spring Security中使用params訪問URL
比方說,我有一些URL:/messages/1
其中1是用戶的ID。
我想要做的只是讓ID爲1的用戶訪問帶有此URL的頁面。
如果用戶通過身份驗證,Spring Security允許訪問某些內容,但是如何才能使身份驗證更窄?
假設你在UserDetails
有id
屬性:
@RequestMapping(value="/messages/{userId}", method=HttpMethod.GET)
@PreAuthorize("#userId == authentication.principal.id")
public List<Message> getMessages(@PathVariable String userId) {
// retrieve from DAO here
}
確保您已在安全配置啓用前/後註釋。
通過頁面您是指JSP?另外如果你想縮小訪問範圍,你最好使用角色ACL [這裏](http://www.mkyong.com/spring-security/spring-security-form-login-using-database/)就是一個很好的例子。 – dkanejs
我使用Thymeleaf而不是JSP。 – user3541916
我看到了這個例子,但它只是解釋瞭如何配置基於角色的認證。這不是我的問題點。 – user3541916