Springboot将security整合thymeleaf使用

介绍

Thymeleaf的sec:authorize标签可以在前端做权限控制

如:在用户界面显示登陆 还是注销,就得判断用户是否登陆

如果未登录
在这里插入图片描述
如果登陆了
在这里插入图片描述
除此之外,他还可以取出security中的用户名

导包

在导包之前先注意下版本问题
如果你用的spring-boot-starter-security版本是 x.y.z.RELEASE
那么你在整合时用的thymeleaf-extras-springsecurityx

比如我用的是

<spring-security.version>5.2.2.RELEASE</spring-security.version>

那么我的maven中就要导如5的包

<dependency>
	<groupId>org.thymeleaf.extras</groupId>
	<artifactId>thymeleaf-extras-springsecurity5</artifactId>
</dependency>

同时html标签也得导入命名空间

<html lang="en" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">

使用

判断是否登陆

<div sec:authorize="!isAuthenticated()">
    <a>没登录 ,显示登陆按钮</a>
</div>

<!--登陆了显示注销-->
<div sec:authorize="isAuthenticated()">
    <a>登陆,显示注销</a>
</div>

已登陆,获取用户的用户名和角色

<div sec:authorize="isAuthenticated()">
    您已经登陆 <span sec:authentication="name"></span>
    <br>
    角色 <span sec:authentication="principal.authorities"></span>
</div>

已登陆,根据用户的权限展示对应的内容

还可以根据用户的权限,决定是否显示dom

<a th:href="@{/.../...}" sec:authorize="hasRole('power2')"	
class="layui-btn">SVP</a>

意思是: 如果用户的权限是 power2 那么 显示这个a链接

如果对你有帮助,请给我点个赞吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值