读书人

《Spring Security3》第七章第二部分翻

发布时间: 2012-10-07 17:28:51 作者: rapoo

《Spring Security3》第七章第二部分翻译(高级ACL)(上)

?

高级ACL话题


?你可以看到示例的许可授权掩码有二进制整数值为3,这是因为应用Read和Write许可后就会具有这个许可授权值了。在这个图中,所有标准的单个整数授权值都是在BasePermission中作为静态常量定义的。你可能会回忆起来我们在构建ACL配置练习中在o.s.s.acls.AclEntryVoter里,使用过它们中的一个常量BasePermission.READ。


?我们可以看到AclEntryVoter依赖实现o.s.s.acls.model.ObjectIdentityRetrievalStrategy和o.s.s.acls.model.SidRetrievalStrategy接口的实现类,以获取适当的ObjectIdentity和Sids进行认证检查。关于这些策略有一个很重要的事情就是基于授权认证的上下文,默认的实现类如何决定要返回的ObjectIdentity和Sids。

????????? 请想一下,我们期望在这里发生什么——我们想要用户只能看到他有READ或ADMIN_READ(我们自定义的许可权限)权限的条目。所以我们声明了一个逗号分隔的权限列表以及要进行检查的域对象(通过JSP EL的表达式${category}来指定)。

?

读书人网 >编程

热点推荐