[英]@RolesAllowed doesn't work properly
我必須將方法的訪問權限僅限制為具有特定角色的用戶。 IdentityManager的構建正確。
我有這個控制器類。
@Named
@RequestScoped
@LoggedIn
public class UserController{
@RolesAllowed({"tt"})
public String saveUserChanges() {
...
...
}
}
此類處理saveUserChanges
上面的方法拋出的AccessDeniedException
。
@ExceptionHandler
public class SecurityExceptionHandler {
public void onAccessDeniedException(@BeforeHandles ExceptionEvent<AccessDeniedException> event) {
...
...
}
}
問題在於, AccessDeniedException
已由SecurityExceptionHandler
類正確引發並saveUserChanges()
,但是無論如何都執行方法saveUserChanges()
。
這樣對嗎? 我希望如果用戶不具有“ tt”角色,則不再執行方法saveUserChanges()
。
您是否注釋了saveUserChanges()
完成后失敗的其他功能? 您用@Logged
注釋了UserController
,這樣至少登錄的人可以執行您的所有功能,並且@RolesAllowed
注釋可能根本不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.