0
 <beans:bean id="loginUrlAuthenticationEntryPoint"
            class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
    <beans:property name="loginFormUrl" value="/session-timeout-1.do" />
 </beans:bean/> 

对于不同类型的用户,我有 2 个不同的会话超时页面。用户登录后,检查用户类型后,可能需要将属性值从“/session-timeout-1.do”更改为“/session-timeout-2.do”。

我想知道是否有可以在运行时更改属性值的 API?

或者是否可以在配置文件中有一个变量,例如

<beans:property name="loginFormUrl" value="${time-out-url}">

在哪里可以以编程方式设置变量“time-out-url”?

4

1 回答 1

0

您可以子类化LoginUrlAuthenticationEntryPoint该类并提供您自己的逻辑。

在此处查看类源:http: //git.springsource.org/spring-security/rwinchs-spring-security/blobs/2d271666a406a4409def9afcd73ea340c40a7a88/web/src/main/java/org/springframework/security/web/authentication/LoginUrlAuthenticationEntryPoint。爪哇

具体方法:

determineUrlToUseForThisRequest

其中“允许子类修改应该适用于给定请求的登录表单 URL”。

于 2012-11-02T17:14:06.673 回答