页面端权限控制介绍
頁面端標(biāo)簽控制權(quán)限?
在jsp頁面中我們可以使用spring security提供的權(quán)限標(biāo)簽來進行權(quán)限控制
導(dǎo)入
maven導(dǎo)入
<dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-taglibs</artifactId><version>version</version> </dependency>頁面導(dǎo)入
<%@taglib uri="http://www.springframework.org/security/tags" prefix="security"%>常用標(biāo)簽
在jsp中我們可以使用以下三種標(biāo)簽,其中authentication代表的是當(dāng)前認(rèn)證對象,可以獲取當(dāng)前認(rèn)證對象信息,例如用戶名。其它兩個標(biāo)簽我們可以用于權(quán)限控制
authentication
<security:authentication property="" htmlEscape="" scope="" var=""/>property: 只允許指定Authentication所擁有的屬性,可以進行屬性的級聯(lián)獲取,如“principle.username”,不允許直接通過方法進行調(diào)用
htmlEscape:表示是否需要將html進行轉(zhuǎn)義。默認(rèn)為true。
scope:與var屬性一起使用,用于指定存放獲取的結(jié)果的屬性名的作用范圍,默認(rèn)我pageContext。Jsp中擁有的作用范圍都進行進行指定
var: 用于指定一個屬性名,這樣當(dāng)獲取到了authentication的相關(guān)信息后會將其以var指定的屬性名進行存放,默認(rèn)是存放在pageConext中
authorize
authorize是用來判斷普通權(quán)限的,通過判斷用戶是否具有對應(yīng)的權(quán)限而控制其所包含內(nèi)容的顯示
<security:authorize access="" method="" url="" var=""></security:authorize>access: 需要使用表達式來判斷權(quán)限,當(dāng)表達式的返回結(jié)果為true時表示擁有對應(yīng)的權(quán)限
method:method屬性是配合url屬性一起使用的,表示用戶應(yīng)當(dāng)具有指定url指定method訪問的權(quán)限,method的默認(rèn)值為GET,可選值為http請求的7種方法
url:url表示如果用戶擁有訪問指定url的權(quán)限即表示可以顯示authorize標(biāo)簽包含的內(nèi)容
var:用于指定將權(quán)限鑒定的結(jié)果存放在pageContext的哪個屬性中
accesscontrollist
accesscontrollist標(biāo)簽是用于鑒定ACL權(quán)限的。其一共定義了三個屬性:hasPermission、domainObject和var,其中前兩個是必須指定的
<security:accesscontrollist hasPermission="" domainObject="" var=""></security:accesscontrollist>hasPermission:hasPermission屬性用于指定以逗號分隔的權(quán)限列表
domainObject:domainObject用于指定對應(yīng)的域?qū)ο?/p>
var:var則是用以將鑒定的結(jié)果以指定的屬性名存入pageContext中,以供同一頁面的其它地方使用
總結(jié)
- 上一篇: 方法级权限控制-基于表达式操作
- 下一篇: AOP日志-域对象创建与基本操作介绍