我有一个工作正常的 Spring 配置。我的 Spring Config 使用多个 security:http
部分。
当您定义 security:http
部分时,某些操作会自动发生,例如某些 bean 定义。自动定义的这些 bean 之一是 SessionAuthenticationStrategy
实现 bean。
问题:如何识别哪个是哪个?例如,我需要通过 @Autowired
从代码中引用特定的身份验证策略,在特定的 http:security
标记中定义;我怎样才能做到这一点?
最佳答案
获得相同结果的一种方法 SessionAuthenticationStrategy
自定义 bean 和 <sec:http>
内的实例-衍生的机械是朝相反的方向走:定义SessionAuthenticationStrategy
显式并将其注入(inject)到您想要的任何位置,包括 http
配置:
<bean id="fancySessionAuthStrategy" class="com.fancy.FancySessionAuthStrategy">
...
</bean>
<sec:http ...>
<sec:session-management session-authentication-strategy-ref="fancySessionAuthStrategy"/>
...
</sec:http>
这里唯一的问题是您必须手动构建该策略 bean 定义。
可以在文档中找到示例:http://docs.spring.io/spring-security/site/docs/current/reference/html/session-mgmt.html
关于java - Spring Security,多个http元素。哪个是哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787827/