繁体   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