SpringBoot+SpringSecurity+Freemarker頁面中使用security標籤

SpringBoot+SpringSecurity+Freemarker項目中在頁面上使用security標籤控制按鈕顯示隱藏達到對按鈕級權限控制還是比較方便的,如下配置即可。

1、引入依賴

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

		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2.1-b03</version>
		</dependency>

2、依賴引入後到spring-security-taglibs包中META-INF下security.tld複製出來,放到/resources/static下,最後建一個目錄tags,如下:

(注:請忽視c.tld)


3、建一個配置類

@Configuration
public class TldConfig extends WebMvcConfigurerAdapter {

    @Autowired
    private FreeMarkerConfigurer configurer;

    @PostConstruct
    public void freeMarkerConfigurer() {
        List<String> tlds = new ArrayList<String>();
        tlds.add("/static/tags/security.tld");
        TaglibFactory taglibFactory = configurer.getTaglibFactory();
        taglibFactory.setClasspathTlds(tlds);
        if(taglibFactory.getObjectWrapper() == null) {
            taglibFactory.setObjectWrapper(configurer.getConfiguration().getObjectWrapper());
        }
    }

}


4、在freemarker頁面頂部引入標籤

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

5、使用標籤如下:

<@security.authorize access="hasRole('ADMIN')">
222
</@security.authorize>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章