我正在尝试使用Spring3.1实现部分级别的安全性。使用Thymeleaf2.0作为我的视图部分。这是我为此所做的配置,
使用的罐子## - 所有spring3.1 罐子和thymeleaf-extras-springsecurity3.jar(版本 1.0.0.beta-1)
SpringWebFlow-Servlet.xml
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
...
<property name="additionalDialects">
<set>
<bean class="org.thymeleaf.extras.springsecurity3.dialect.SpringSecurityDialect"/>
</set>
</property>
...
</bean>
<bean id="webexpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler" />
弹簧安全.xml
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/productSelection" access="hasRole('ROLE_ADMIN')"/>
.....
</http>
xxx.html
<div sec:authorize="hasRole('ROLE_ADMIN')">
This only be seen if authenticated user has role ROLE_ADMIN.
</div>
问题
获取异常说明:在 applicationContext 中找不到可见的 WebSecurityExpressionHandler 实例
在 Spring3.1 中,DefaultWebSecurityExpressionHandler 没有实现 WebSecurityExpressionHandler 并且该接口已被弃用。请让我知道解决方法,因为 Thymeleaf 正在尝试搜索 ApplicationContext 中不可用的 WebSecurityExpressionHandler 实例。