我正在为我的应用程序进行依赖项更新,并将adminfaces-spring-boot-starter从3.2.6更新到4.0.x后,安全标记以HTML呈现,这显然破坏了功能并完全损害了其使用。
似乎没有迁移指南涵盖此问题。下面是Gradle构建文件的片段和安全示例。
/* Spring dependencies */
compile("org.springframework.boot:spring-boot-starter-web:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-validation:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-data-jpa:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-thymeleaf:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-mail:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-security:2.1.3.RELEASE")
compile("org.springframework.boot:spring-boot-starter-log4j2:2.1.3.RELEASE")
testCompile("org.springframework.boot:spring-boot-starter-test:2.1.3.RELEASE")
testCompile("com.h2database:h2:1.4.197")
if(buildWar) {
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat:2.1.3.RELEASE")
compile("org.joinfaces:adminfaces-spring-boot-starter:4.0.3"){
exclude group: 'org.glassfish'
exclude group: 'com.github.adminfaces', module: 'admin-theme'
}
}
请注意,相同的配置适用于3.2.6版,但排除项处理正确。
<ui:composition ...
xmlns:security="http://www.springframework.org/security/tags">
<ui:define name="title">
</ui:define>
<ui:define name="body">
<security:authorize access="hasAnyAuthority('some_authority', 'some_other_authority')">
<ui:include src="pages/documents/buttons.xhtml" />
</security:authorize>
<ui:include src="pages/documents/documents_list.xhtml" />
</ui:define>
</ui:composition>
我可以在登录后通过SecurityContextHolder确认身份验证已正确注册。