Springboot使用Thymeleaf提供的SpringSecurity标签控制支持
在使用thymeleaf渲染前端的html时,thymeleaf为SpringSecurity提供的标签属性,首先需要引入thymeleaf-extras-springsecurity4依赖支持。
一、在pom 文件中的引入springsecurity的标签依赖thymeleaf-extras-springsecurity5。
<dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> <version>3.0.4.RELEASE</version> </dependency>
二、在html文件里面申明使用。
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5" >
三、常用SpringSecurity的标签属性介绍
判断用户是否已经登陆认证,引号内的参数必须是isAuthenticated()。 sec:authorize="isAuthenticated()" 获得当前用户的用户名,引号内的参数必须是name。 sec:authentication=“name” 判断当前用户是否拥有指定的权限。引号内的参数为权限的名称。 sec:authorize=“hasRole(‘role’)” 获得当前用户的全部角色,引号内的参数必须是principal.authorities。 sec:authentication="principal.authorities"
四、运用介绍
使用sec:authorize="isAuthenticated()" 判断是否登录 登录之后显示的页面内容
<div sec:authorize="isAuthenticated()"> <h2><span sec:authentication="name"></span>,您好 您的身份是 <span sec:authentication="principal.authorities"></span> </h2> </div>
使用sec:authorize="hasRole('VIP1')"控制
<div sec:authorize="hasRole('VIP1')"> <h3>我的VIP角色</h3> <ul> <li><a th:href="@{/level1/1}">免费阅读</a></li> <li><a th:href="@{/level1/2}">购买8折</a></li> </ul> </div>
以上是本人对Thymeleaf提供的SpringSecurity的标签支持的简单使用,希望对需要的朋友能够提供到帮助!
作者:IT民工郑小江
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。