spring mvc freemarker jsp使用security 标签

最近偶然有个需求,跟权限有关系,既然我们系统使用了security,那我就想看看在这里有什么可以挖掘的,于是就开始研究页面的标签

1.首先要在maven的pom.xm里面添加

        <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-taglibs</artifactId>
                <version>4.2.3.RELEASE</version>
            </dependency>

2.如果是Jsp 就需要引入

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

如果是freemarker

<#assign sec = JspTaglibs["http://www.springframework.org/security/tags"]/>

但是有的时候可能会有找不到标签的情况,所以你可以把

security-taglibs jar包下面的 security.tld文件copy出来

放到WEB-INF/tlds/下

于是如下

<#assign sec = JspTaglibs["/WEB-INF/tlds/security.tld"]/>

 

3.在标签使用上

jsp标签的格式如下

<sec:authorize access="hasRole('supervisor')">

do some thing

</sec:authorize>

freemarker格式如下

 <@sec.authorize access="hasRole('ROLE_ADMIN')">
    you can see this
  </@sec.authorize>    

意思是如果你有单引号里面的权限,就可以看到标签里面的内容

4.常用标枪

比如想看见当前登陆的用户名,以下两个标签都可以

<@sec.authentication property="principal.username" />

<@sec.authentication property="name"/>

 

这里只是简单的描述以下。

jsp相关文档请参考官方文档 

posted on 2017-09-21 11:52  big竹子  阅读(633)  评论(0编辑  收藏  举报