簡體   English   中英

@RolesAllowed無法正常工作

[英]@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM