【发布时间】:2014-08-19 13:20:20
【问题描述】:
我必须将方法的访问权限仅限于具有特定角色的用户。 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() 仍然执行。
对吗?如果用户没有“tt”角色,我希望不再执行方法saveUserChanges()。
【问题讨论】:
标签: java jboss7.x cdi deltaspike picketlink