我想为我的Spring应用程序提供方法级别的安全性。
安全设计如下:用户>角色>权限
好吧,当我将@PreAuthorize
与hasRole
一起使用时,效果很好。
但是,当我尝试将其与hasPermission
结合使用时,它将无法正常工作。
我发现我应该对这种方法使用Spring ACL,但是对于要求似乎有点过时了。
因此,有什么方法可以在xml文件中定义角色权限,或者有任何其他变通方法或其他获得方法级安全性的方法都可以使用权限而不是角色,并且可以使用ACL。
如果只能使用ACL,请给我一个很好的例子
最佳答案
请阅读以下网站上的文章:
http://springinpractice.com/2010/10/27/quick-tip-spring-security-role-based-authorization-and-permissions/
最主要的是您将需要实现UserDetails接口。它说
“ UserDetails接口只是通过getAuthorities()方法公开权限(而不是角色)”