ygl*_*odt 6 java spring-security thymeleaf spring-boot
我很难让Thymeleaf在我的基于Spring Boot 1.4.3的项目中使用Spring Security.
标签如,例如
<div sec:authorize="hasAuthority('ADMIN')">
Run Code Online (Sandbox Code Playgroud)
根本就没有解析.
如果我尝试SpringSecurityDialect像这样手动添加:
@Bean
public SpringSecurityDialect securityDialect() {
return new SpringSecurityDialect();
}
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
Exception in thread "main" java.lang.NoClassDefFoundError: org/thymeleaf/dialect/IExpressionEnhancingDialect
Run Code Online (Sandbox Code Playgroud)
我在我的依赖项中包含以下内容:
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
本SpringSecurityDialect似乎并没有被自动配置添加.
在我手动添加Bean之后,我得到了提到的异常.
这是一个错误还是我错过了什么?
我的Thymeleaf版本是:
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-extras-java8time.version>3.0.0.RELEASE</thymeleaf-extras-java8time.version>
<thymeleaf-layout-dialect.version>2.1.2</thymeleaf-layout-dialect.version>
Run Code Online (Sandbox Code Playgroud)
ygl*_*odt 14
得到它的工作,如果你正在使用Thymeleaf3.0.2与Spring 1.4的引导,需要强制版本3.0.1.RELEASE的thymeleaf-extras-springsecurity4(因为它继承了2.1.2版不结合Thymeleaf 3工作):
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
标签应该使用该hasRole功能.
<div sec:authorize="hasRole('ROLE_ADMIN')">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5717 次 |
| 最近记录: |