1. 程式人生 > >freemarker 使用spring security標籤進行許可權判斷以及錯誤解決

freemarker 使用spring security標籤進行許可權判斷以及錯誤解決

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">
   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拷貝到指定目錄下,然後引用即可。