2013-03-30 3 views
1

Я пытался внедрить Spring Security 3.0, помню, что сервис в моем приложении, но, к сожалению, не смог заставить его работать.Spring security 3.0 помню меня функциональность

Я не нашел конкретного примера, связанного с этим, даже весной документации. Было бы неплохо, если бы кто-нибудь мог дать рабочий пример кода. Пожалуйста, найдите код моего файла spring-security.xml.

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:security="http://www.springframework.org/schema/security" 
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"> 


<security:http entry-point-ref="myAuthenticationEntryPoint"> 

    <security:session-management 
     session-fixation-protection="newSession" /> 
    <security:custom-filter position="FORM_LOGIN_FILTER" 
     ref="processingFilter" /> 
    <security:logout logout-url="/logout" 
     logout-success-url="/login" /> 
    <security:intercept-url pattern='/index.jsp' 
     filters='none' /> 
    <security:intercept-url pattern='/login*' 
     filters='none' /> 
    <security:remember-me key="springrocks" /> 

    <security:intercept-url pattern='/admin/**' 
     access="ROLE_ADMIN" /> 

</security:http> 

<security:authentication-manager> 
    <security:authentication-provider 
     ref="myAuthenticationProvider"></security:authentication-provider> 
</security:authentication-manager> 
<bean id="myAuthenticationProvider" 
    class="example.AuthenticationProviderExtended"> 

</bean> 

<bean id="authenticationManager" class="example.AuthenticationManagerExtended" /> 

<bean id="processingFilter" class="example.FormBasedProcessingFilter"> 
    <property name="authenticationManager" ref="authenticationManager" /> 
    <property name="usernameParameter" value="username" /> 
    <property name="passwordParameter" value="password" /> 
    <property name="allowSessionCreation" value="true" /> 
    <property name="authenticationFailureHandler" ref="simpleUrlAuthenticationFailureHandler" /> 
    <property name="authenticationSuccessHandler" ref="simpleUrlAuthenticationSuccessHandler" /> 
    <property name="filterProcessesUrl" value="/performLogin" /> 
</bean> 


<bean id="simpleUrlAuthenticationFailureHandler" class="example.AuthenticationFailureHandler"> 
    <property name="defaultFailureUrl" value="/login"></property> 
</bean> 

<bean id="simpleUrlAuthenticationSuccessHandler" 
    class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler"> 
    <property name="defaultTargetUrl" value="/home" /> 
</bean> 


<bean id="myAuthenticationEntryPoint" 
    class="example.CustomAuthenticationEntryPoint"> 
    <property name="loginFormUrl" value="/login" /> 
</bean> 

<bean id="rememberMeFilter" 
    class="org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter"> 
    <property name="rememberMeServices" ref="rememberMeServices" /> 
    <property name="authenticationManager" ref="authenticationManager" /> 
</bean> 

<bean id="rememberMeServices" 
    class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices"> 
    <property name="userDetailsService" ref="myUserDetailsService" /> 
    <property name="key" value="springRocks" /> 
</bean> 

<bean id="rememberMeAuthenticationProvider" 
    class="org.springframework.security.authentication.RememberMeAuthenticationProvider"> 
    <property name="key" value="springRocks" /> 
</bean> 

<bean id="myUserDetailsService" class="example.MyCustomeUserDetailsService"> 

</bean> 

</beans> 
+0

Вы можете принимать и продвигать мой ответ, если он отвечает на ваш вопрос :) – Michael

ответ

0

Вы должны убедиться, что ваша форма содержит флажок (или другие типы ввода с) помнить меня Имя атрибута

<input type="checkbox" name="_spring_security_remember_me"/> 

Этот атрибут настраивается с помощью параметра mem-me-параметра на xml, например:

<remember-me remember-me-parameter="please_remember"/> 
Смежные вопросы