SpringBoot+SpringSecurity+Freemarker页面中使用security标签

SpringBoot+SpringSecurity+Freemarker项目中在页面上使用security标签控制按钮显示隐藏达到对按钮级权限控制还是比较方便的,如下配置即可。

1、引入依赖

		
			org.springframework.security
			spring-security-taglibs
		

		
			javax.servlet.jsp
			jsp-api
			2.2.1-b03
		

2、依赖引入后到spring-security-taglibs包中META-INF下security.tld复制出来,放到/resources/static下,最后建一个目录tags,如下:

SpringBoot+SpringSecurity+Freemarker页面中使用security标签_第1张图片

(注:请忽视c.tld)


3、建一个配置类

@Configuration
public class TldConfig extends WebMvcConfigurerAdapter {

    @Autowired
    private FreeMarkerConfigurer configurer;

    @PostConstruct
    public void freeMarkerConfigurer() {
        List tlds = new ArrayList();
        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>


你可能感兴趣的:(spring,boot)