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>
上一篇:
IDEA上Java项目控制台中文乱码