Spring 安全:检查 Freemarker 模板中的用户角色

Spring Security: Check User Role in Freemarker template

我正在尝试检查 Freemarker 模板中的用户角色。我试过这个:

<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />

并通过此检查角色:

<@security.authorize  access="hasRole('ADMIN')">
    /*DO SOME STUFF*/
</@security.authorize>

但是我得到一个错误:

freemarker.template.TemplateModelException: Error while looking for TLD file for "http://www.springframework.org/security/tags"; see cause exception.

Interned 中有很多解决方案,我尝试了所有方法:在 pom.xml 中添加依赖项,尝试将 link 更改为 taglibs 等

但它不起作用,那么我该如何解决这个问题,或者是否有另一种方法来检查用户角色?

终于找到解决办法了。

您应该使用 access="hasAnyAuthority('ADMIN') 或将您的角色从“ADMIN”更改为“ROLE_ADMIN”,因为 access="hasRole" 仅适用于名为 ROLE first

的角色