在 Thymeleaf 中根据 SpringSecurity 用户名创建 URL
Create a URL based on SpringSecurity username in Thymeleaf
使用 Thymeleaf SpringSecurityDialect,我可以像这样显示登录用户的用户名:
Logged in user<span sec:authentication="name">Username</span>
我想更进一步,使用该登录用户名生成 URL。
<a href="view.html" th:href="@{'/view/'+${user.username}}" />
到目前为止,我一直是通过将其直接添加到模型中来做到这一点的,但是我想知道是否可以仅使用 SecurityDialect 和标签直接执行此操作。
例如,在 JSP 中,将其添加到 pagecontext var 中是微不足道的。
<sec:authentication var="user" property="principal" />
但是,我想知道我是否可以选择在 thymeleaf 中做这样的事情。
您尝试过使用 ${#authentication.name} 代替 ${user.username} 吗?它应该工作...
<a href="view.html" th:href="@{'/view/'+${#authentication.name}}" >TEST</a>
使用 Thymeleaf SpringSecurityDialect,我可以像这样显示登录用户的用户名:
Logged in user<span sec:authentication="name">Username</span>
我想更进一步,使用该登录用户名生成 URL。
<a href="view.html" th:href="@{'/view/'+${user.username}}" />
到目前为止,我一直是通过将其直接添加到模型中来做到这一点的,但是我想知道是否可以仅使用 SecurityDialect 和标签直接执行此操作。
例如,在 JSP 中,将其添加到 pagecontext var 中是微不足道的。
<sec:authentication var="user" property="principal" />
但是,我想知道我是否可以选择在 thymeleaf 中做这样的事情。
您尝试过使用 ${#authentication.name} 代替 ${user.username} 吗?它应该工作...
<a href="view.html" th:href="@{'/view/'+${#authentication.name}}" >TEST</a>