我遇到了一个问题,我的控制器方法与@RolesAllowed 可以正常工作,但如果我尝试使用@Secured,我会得到一个AccessDeniedException。虽然我更喜欢使用@RolesAllowed 注释,但已经声明对于这个项目我们应该使用@Secured,因为当映射到我们的旧访问权限时,名称不会那么混乱。
我的注释配置如下:
<security:global-method-security jsr250-annotations="enabled" secured-annotations="enabled" pre-post-annotations="enabled" />
当我使用@RolesAllowed("COMPANY_SEE_REPORTS")
我的用户拥有的时,它可以正常工作。当我使用时,@Secured("COMPANY_SEE_REPORTS")
我得到一个 AccessDeniedException。为了确保@RolesAllowed 正常工作,我将角色更改为不存在的角色,然后@RolesAllowed 抛出了。所以我的问题是如何让@Secured 正常工作?