服务器端----------页面端标签控制权限jsp
原创
©著作权归作者所有:来自51CTO博客作者rockeybalboa的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.依赖导入
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>version</version>
</dependency>
2.页面导入
<%@taglib uri="http://www.springframework.org/security/tags" prefix="security"%>
authentication
在用户名替换为下面这段,就可以在页面上显示当前操作的用户
<security:authentication property="principal.username"></security:authentication>
property: 只允许指定Authentication所拥有的属性,可以进行属性的级联获取,如“principle.username”,
不允许直接通过方法进行调用
authorize
authorize是用来判断普通权限的,通过判断用户是否具有对应的权限而控制其所包含内容的显示
下面这段代码表示ADMIN角色就能看到用户管理,如果不是就不能
<security:authorize access="hasRole('ADMIN')">
全部在下面
<%--表示当前用户的ADMIN角色就能看到用户管理,如果不是就不能--%>
<li id="system-setting">
<security:authorize access="hasRole('ADMIN')">
<a
href="${pageContext.request.contextPath}/user/findAll.do"> <i
class="fa fa-circle-o"></i> 用户管理
</a>
</security:authorize>
</li>
另外注意加这个表达式要在spring-security.xml配置文件中多加一个bean
<!--多配置一个bean,实现用jsp页面可以用表达式-->
<bean id="webexpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler" />
如下James就看不到用户管理这一功能,因为james不是ADMIN角色