如何根据用户角色更改default-target-url

时间:2011-01-07 20:58:54

标签: spring-security

我使用spring security进行用户身份验证。在security.xml中我有

<form-login login-page="/login" 
                default-target-url="/dashboard" 
                always-use-default-target="false"  
                authentication-failure-url="/login/error" 
                login-processing-url="/j_security_check"/>

我希望能够为不同的用户角色配置不同的目标网址。我该怎么做呢?

谢谢!

3 个答案:

答案 0 :(得分:8)

如果您正在使用Spring-Security 3.0或更高版本,那么实现您自己的AuthenticationSuccessHandler即可:

<sec:form-login ... authentication-success-handler-ref="successHandler"/>
...
<bean id="successHandler" class="de.....MySpecialAuthenticationSuccessHandler">

然后MySpecialAuthenticationSuccessHandler可以扩展其中一个默认处理程序,例如SavedRequestAwareAuthenticationSuccessHandler,尽管它们不是真正的继承友好。

答案 1 :(得分:1)

答案 2 :(得分:0)

我认为您无法对此进行配置,但您的default-target-url 信息中心 可以包含根据角色重定向到相应网页的逻辑。