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

标签 spring-security

我使用 spring 安全进行用户身份验证。在 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"/>

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

谢谢!

最佳答案

如果您使用 Spring-Security 3.0 或更高版本实现自己的 AuthenticationSuccessHandler是要走的路:

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

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

关于spring-security - 如何根据用户角色更改 default-target-url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630231/

相关文章:

java - Spring Security Token认证 如何认证?

spring - 从 Spring 4.3 升级到 5.0 后 Spring Security OAuth 中的 "NoClassDefFoundError: org/springframework/web/method/HandlerMethodSelector"

servlets - Spring 安全 3.0 : How do I specify URLs to which a custom filter applies?

java - 我成功登录,但只能在第二次尝试后访问该网站

java - 当用户在 spring boot 应用程序中输入无效 URL 时如何显示自定义 404 页面?

java - 在 Spring Security OAuth2 中注入(inject)自定义 userDetailsS​​ervice 的问题

java - Web 用户帐户管理组件

java - hibernate :引起:java.lang.ClassCastException:[Ljava.lang.Object;无法转换为 <package.Class>

grails - 具有相同URL值的Grails动态请求映射

spring - 使用 RESTful 登录 API 验证我的 Spring Boot 应用程序