【问题标题】:Spring Security: default-target-url does not work when session expiresSpring Security:会话过期时 default-target-url 不起作用
【发布时间】:2015-11-21 07:23:06
【问题描述】:

当我第一次登录时一切正常,Spring 将我重定向到 default-target-url 中指定的 url。 问题是会话何时到期。如果我尝试手动加载 URL,则 Spring 将我重定向到登录页面,登录后,Spring 将我再次重定向到之前的 URL,而不是 default-target-url。 我希望 Spring 始终将我重定向到 default-target-url。这是我的配置:

    <http auto-config="true" use-expressions="true" disable-url-rewriting="true">
    <access-denied-handler error-page="/errorPage" />
    <intercept-url pattern="/admin/**"  access="hasRole('Admin')" />
    <intercept-url pattern="/empresas/**"  access="hasAnyRole('User, Admin')" />

    <intercept-url pattern="/j_spring_security_logout#chart" access="hasAnyRole('User, Admin')" />
    <form-login 
        login-page="/login" 
        default-target-url="/loggedin" 
        authentication-failure-url="/loginError" 
        username-parameter="j_username"
        password-parameter="j_password" 
    />
    <logout logout-success-url="/login?logout" invalidate-session="true"
        delete-cookies="JSESSIONID"/>
    <!-- enable csrf protection -->
</http>

【问题讨论】:

    标签: spring spring-mvc spring-security


    【解决方案1】:

    使用表单登录的always-use-default-target="true" 属性。 Refer this 寻求更多帮助的问题。

    <form-login 
        login-page="/login" 
        default-target-url="/loggedin" 
        always-use-default-target="true"        
        authentication-failure-url="/loginError" 
        username-parameter="j_username"
        password-parameter="j_password" 
    />
    

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-09
      • 2013-07-12
      • 2013-04-24
      • 2020-05-13
      • 2021-04-18
      • 1970-01-01
      • 2012-05-25
      • 2011-12-15
      相关资源
      最近更新 更多