读书人

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

发布时间: 2012-11-05 09:35:11 作者: rapoo

《Spring Security3》第五章第二部分翻译上(实现授权精确控制的方法——页面级权限)

?

实现授权精确控制的方法

?

?所以,JSP中条件显示“MyAccount”链接的代码如下所示:

?

?这能够保证除非用户拥有足够的权限来访问指定的URL,否则tag中的内容不会显示。还可以通过HTTP方法实现更高质量的检查,这要通过method属性来设置。

?

?使用url属性对代码块定义授权检查的方法是很方便的,因为它对JSP中的实际授权检查进行了抽象并将其保存在安全配置文件中。

????????? 对SpEL进行求值计算的代码与<intercept-url>所定义的访问规则(假设配置了表达式)背后所使用的代码是一样的。所以,同样的内置函数和属性在<authorize>标签中都是可以通过表达式使用的。

?如果你现在以匿名用户试图访问站点,将会看到一个指向登录form的链接。

基于拥有列表中的某一个角色有条件显示内容

?注意的是ifAnyGranted属性允许是以逗号分隔的角色集合来确定适当的匹配结果,用户只需要拥有角色中的任意一个标签中的内容就会渲染。

基于拥有列表中的所有个角色有条件显示内容

?我们能够看到authorize标签的多种语法,以在不同的环境下使用。注意的是我们在前面讲到的三个属性可以组合使用。如ifNotGranted和ifAnyGranted属性能够联合使用以提供稍微复杂的Boolean等式。

使用JSP表达式

以上的三种页面授权方法((ifNotGranted,ifAnyGranted,ifAllGranted)支持JSP EL表达式,它将会执行并返回授权的GrantedAuthority(角色等)。如果授权要求的列表会根据页面计算结果而变化的话,这将会提供一定的灵活性。

?

?

?

读书人网 >编程

热点推荐