2013-11-18 2 views
0

После успешного входа в систему я хочу продолжить обработку запроса с помощью нового URL-адреса. Но URL-адрес вызывает открытую службу в Spring mvc, где настройка безопасности не проверяет аутентификацию сеанса для исходящего URL-адреса. Пожалуйста, взгляните ниже кода.Управление сеансом Spring в mvc, сеанс безопасности в Spring vs http session

<http auto-config="true" use-expressions="true"> 
    <!-- <intercept-url pattern="/**" access="isAuthenticated()" /> --> 
    <intercept-url pattern="/home*" access="isAuthenticated()" /> 
    <intercept-url pattern="/admin*" access="isAuthenticated()" /> 
    <form-login login-page="/" default-target-url="/home" 
     authentication-failure-url="/accessdenied" always-use-default-target="false"/> 
    <logout logout-success-url="/" /> 
    <anonymous username="guest" granted-authority="ROLE_GUEST" /> 
    <session-management invalid-session-url="/" session-authentication-error-url="/login.jsp?error=alreadyLogin"> 
     <concurrency-control max-sessions="1" expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false"/> 
    </session-management> 
    <remember-me /> 
</http> 

Когда страница JSP представляет входа в систему аутентификации J_security_check целевой URL вызывается, который впоследствии вызывает перехватчик шаблон/домой * и выполняет проверку подлинности учетных данных для входа.

если я звоню обнаженную службу до входа в «/ адрес/идентификатора пользователя /» это непосредственно вызывает метод обслуживания, как сделать его сессии связаны, если сессия существует получить данные не иначе.

, как различные весны сессии безопасности от http сессии, как сохранить весну сессии безопасности, как http сессии весной mvc.

Если я добавляю <intercept-url pattern="/**" access="isAuthenticated()" />, он не работает, он не показывает логин jsp, как хорошо. Где я делаю неправильно, пожалуйста, уточните.

Как отличить идентификатор пользователя/pwd в диспетчере аутентификации в соответствии с приведенным ниже, как единым? принимает первый параметр.

<authentication-manager> 
    <authentication-provider> 
     <!-- <user-service> <user name="admin" password="secret" authorities="ROLE_ADMIN,ROLE_USER"/> 
      </user-service> --> 
     <jdbc-user-service data-source-ref="dataSource" 
      users-by-username-query="SELECT USER_NAME,USER_PWD, 'true' as enabled from LOGIN_USER where USER_NAME=?" 
      authorities-by-username-query="select LOGIN_USER.USER_NAME , LOGIN_USER.ROLE_ID as authorities from LOGIN_USER 
      where LOGIN_USER.USER_NAME =?" /> 
    </authentication-provider> 
</authentication-manager> 

Я пришел через несколько сайтов он описывает только Войти весну безопасность сеанс management.i не смог clarity.Thanks заранее.

ответ

0

i реализован с использованием обработчика перехватчика, чтобы проверить URI & атрибуты сеанса, которые отлично работают, но ищут лучшие варианты в весеннем каркасе.

Смежные вопросы