Spring Security在类型级别@PreAuthorize不能在方法级别被覆盖
我正在尝试在类型级别使用注释保护控制器,并尝试通过使用不同的.然而,问题在于,Spring首先评估方法注释(授予访问权限),然后评估类注释(拒绝访问)。@PreAuthorize
@PreAuthorize
有没有办法扭转这一顺序?我还搞不清。
编辑:
在方法级别,我只想向非注册用户授予访问权限:
@PreAuthorize("isAnonymous()")
@RequestMapping(value = "/create", method = RequestMethod.GET)
public String renderCreateEntity(ModelMap model) {
return userService.renderCreateEntity(model);
}
但是,此控制器的标准应该是仅允许完全经过身份验证的用户:
@Controller
@RequestMapping(value = "/user")
@PreAuthorize("isFullyAuthenticated()")
public class UserController { [...] }
在调试单步执行应用时,我看到首先对其进行了评估,从而导致授予访问权限并立即再次拒绝访问。isAnonymous()
isFullyAuthenticated()