我有一个具有多个角色(ROLE1、ROLE2)的安全 springboot 应用程序。一位用户拥有这两种角色,而另一位用户只有一种。成功登录后,用户将被发送到登录页面,如果用户只有一个角色,我想在那里禁用元素。
我试过 thymeleaf-extras-springsecurity3 但没有成功。这是我的代码:
xml文件
...
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity3</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>
...
Run Code Online (Sandbox Code Playgroud)
Landing.html(尝试了所有选项)
!${currentUser.user.hasAuthority('ROLE1')}
!${#authorization.expression('hasRole('ROLE1')')}
${#authentication.getPrincipal().getUser().getRoles()}
${#authentication.getPrincipal().getRoles()}
Run Code Online (Sandbox Code Playgroud)
但是没有成功,我总是得到这样的对象的空错误
org.springframework.expression.spel.SpelEvaluationException: EL1011E: Method call: Attempted to call method getPrincipal() on null context object
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!谢谢!
我主要使用 Springboot 框架仅使用 JSP 来涵盖网站部分所需的内容。现在,我有一个项目要做,主要是围绕网站,如果不是全部的话,我有几个问题。首先要清楚,我没有使用 Thymeleaf 或 Angular 的经验,所以无论我选择哪个都是第一次(我认为 thymeleaf 语法对我来说更容易处理)。
好的,所以我的主要目标不是每次从后端加载数据时都渲染整个页面,所以我想我会有一个页眉/内容/页脚部分,每次我点击某些内容时,只有内容部分会改变. 另外,我希望加载程序能够在内容部分发生变化时显示和消失。对于注册的用户,此 Web 应用程序需要是安全的。
我在网上搜索过这两个框架,但似乎找不到正确的答案,所以我可以继续我的开发
如果我决定使用 Thymeleaf,如果其他平台需要连接到该服务,我不介意在以后的开发中创建单独的 REST 服务。你们认为我应该朝哪个方向发展,Thymeleaf 还是 Angular?任何帮助和/或讨论将不胜感激。
如果这似乎是一个普遍的问题,我很抱歉,但我只需要一些基本的指导方针。干杯!