2013-07-25 20 views
5

Web portalıma giriş yapmak için yaylı güvenlik uygularım var. Bir sorun dışında iyi çalışıyor. Seans zaman aşımı 5 dk. Zaman aşımı sona erdiğinde ve kullanıcı herhangi bir URL'yi tıkladıktan sonra çıkış sayfasına yönlendirilir. Ancak, kullanıcı kimlik doğrulaması yapıldığında, kullanıcı doğrudan, varsayılan hedef URL olan ana sayfa yerine son erişim sayfasına gider.Yay güvenliği, oturum açma oturum zaman aşımından sonra en son istenen sayfaya yönlendirir

Bahar güvenlik dosyası olarak aşağıdaki gibidir:

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 

     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.0.xsd"> 

    <http auto-config="true"> 
     <intercept-url pattern="/index.jsp" access="ROLE_ADMIN,ROLE_USER" /> 
     <intercept-url pattern="/home.html" access="ROLE_ADMIN,ROLE_USER" /> 
     <intercept-url pattern="/mdm/accessToken.html" access="ROLE_USER" /> 
     <intercept-url pattern="/mdm/enroll.html" access="ROLE_USER" /> 
     <intercept-url pattern="/mdm/installApp.html" access="ROLE_USER" /> 
     <intercept-url pattern="/mdm/checkStatus.html" access="ROLE_USER" /> 
     <intercept-url pattern="/mdm/searchDevice.html" access="ROLE_USER" />  
     <intercept-url pattern="/admin/*" access="ROLE_ADMIN" /> 
     <intercept-url pattern="/account/*" access="ROLE_ADMIN" /> 
     <intercept-url pattern="/user/*" access="ROLE_USER" />  

     <form-login login-page="/login.html" default-target-url="/home.html" 
        authentication-failure-url="/loginfailed.html" /> 
     <logout logout-url="/logout.html" logout-success-url="/logoutSuccess.html" invalidate-session="true" /> 
     <anonymous username="guest" granted-authority="ROLE_GUEST" /> 
     <session-management> 
      <concurrency-control max-sessions="1" /> 
     </session-management> 
     <session-management invalid-session-url="/logout.html" /> 
    </http> 

    <authentication-manager> 
     <authentication-provider> 
      <jdbc-user-service data-source-ref="dataSource" 
       users-by-username-query="select USER as username, password, 'true' as enabled from TBL_USER_MASTER where user=?" 
       authorities-by-username-query="select um.USER as username , rm.ROLE_NAME as authorities from TBL_USER_MASTER um,TBL_ROLE_MASTER rm 
      where um.USER=? and um.role_id=rm.role_id" /> 
      <password-encoder hash="md5"/> 
     </authentication-provider> 
    </authentication-manager> 
</beans:beans> 

cevap

8

sizin form giriş etiketine daima kullanım-default-hedef niteliğini ekleyin. True olarak ayarlanırsa

<form-login always-use-default-target="true" /> 

, kullanıcı her zaman ne olursa olsun onlar giriş sayfasında geldi nasıl varsayılan hedef-url tarafından verilen değerden başlayacak. Haritalar, UsernamePasswordAuthenticationFilter öğesinin alwaysUseDefaultTargetUrl özelliğine. Varsayılan değer yanlıştır. Grails yılında

+0

Teşekkür Bart sorunu çözer. Beklendiği gibi çalışıyor – UserAdi

2

, bu ayar Config.groovy

grails.plugin.springsecurity.successHandler.alwaysUseDefault = true 
İlgili konular