咨询spring security thymeleaf标签的使用

TedZhou 2020-02-19 04:28:12
我使用 springboot + thymeleaf开发web系统。
我在页面模板中用到 sec:authorize="isAuthenticated()" 或 sec:authorize-url="/pathto/page" 等,用于决定某些html元素是否显示。
但,有时单用这些thymeleaf标签不够,还需要结合其它的条件做判断。
因此,我希望在th:if的表达式里能使用"isAuthenticated()"或对url权限进行判断。请问该如何做?
...全文
316 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TedZhou 2020-03-25
  • 打赏
  • 举报
回复
终于找到了方法,记录一下,有需要的有缘人能看到也好。 参考:https://github.com/thymeleaf/thymeleaf-extras-springsecurity#features thymeleaf-extras提供了#authorization对象,其方法expr()和url()可用于th:if,例如:

<div th:if="${#authorization.expr('hasRole(''ADMIN'')')} and ${#authorization.url('/admin/delete')}">
    你是管理员,且能删除(⊙o⊙)
</div>
qybao 2020-03-05
  • 打赏
  • 举报
回复
组合一下试试
<div sec:authorize="isAuthenticated()" >
<div sec:authorize-url="/pathto/page">
....
</div>
</div>

th:if 也可以像上面一样组合
或者 <div th:if="xxx and (yyy || zzz)">
或者 <div th:if="xxx" th:if="yyy || zzz">

TedZhou 2020-03-05
  • 打赏
  • 举报
回复
ding 。。。。。。。。。。。。。。。
TedZhou 2020-02-21
  • 打赏
  • 举报
回复
ding ding again
TedZhou 2020-02-20
  • 打赏
  • 举报
回复
csdn论坛看来没落了,这么久都没人看。自己顶一顶

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧