freemarker 使用spring security标签进行权限判断,配置起来非常简单。
网上有很多例子,简单配置步骤如下:
pom.xml 中加入spring security支持
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring-security.version}</version>
</dependency>
在ftl中使用方法如下:
顶部加入:
<#assignsecurity=JspTaglibs["http://www.springframework.org/security/tags"]/>
<@security.authorizeifAnyGranted="ROLE_ADMIN">
<@security.authorizeifAnyGranted="ROLE_ADMIN">
admin will see
</@security.authorize>
除了ifAnyGranted外,还可以用ifNotGranted, ifAnyGranted, ifAllGranted等判断。
建议在顶部使用
<#assign security=JspTaglibs["/WEB-INF/tlds/security.tld"] />的写法,经过测试,使用<#assignsecurity=JspTaglibs["http://www.springframework.org/security/tags"]/>会偶尔出现No mapping defined for http://www.springframework.org/security/tags 的错误,直接将spring-security-taglibs-{version}.jar包中,META-INF中的security.tld拷贝到指定目录下,然后引用即可。