咨询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权限进行判断。请问该如何做?
...全文
142 5 打赏 收藏 举报
写回复
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论坛看来没落了,这么久都没人看。自己顶一顶
  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2020-02-19 04:28
社区公告
暂无公告