朋也的博客 » 首页 » 文章
作者:朋也
日期:2024-08-09
类别:springsecurity6.x学习笔记
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
thymeleaf有个扩展项目thymeleaf-extras-springsecurity
,提供了 sec:authorize
标签来鉴权
更多详细内容可参考
在build.gradle里添加上依赖
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
要想在开发过程中IDEA有提示,还需要添加sec的namespace,在扩展项目的readme最下面提到了,所有版本的命名空间都统一了
所以只需要引入这一个地址就行了
页面最上面的导航是跳转到不同页面的链接,其中zhangsan用户是没有 user:list
权限的,正好用这个来测试
给首页
和用户
现在超链接都添加上权限验证
<!doctype html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<body>
<th:block th:fragment="head">
<link rel="stylesheet" th:href="@{/css/app.css}">
</th:block>
<th:block th:fragment="navbar(user)">
<header>
<a th:href="@{/}" sec:authorize="hasAuthority('index')">首页</a>
<a th:href="@{/user/list}" sec:authorize="hasAuthority('user:list')">用户</a>
</header>
<p>当前登录的用户名:<span th:text="${user.username}" style="color:red;"></span></p>
</th:block>
</body>
</html>
使用admin登录,页面如下
使用zhangsan登录,页面如下