给spring security添加remember me function

本文介绍了如何在Spring Security中配置Remember-Me功能,包括直接使用默认配置和自定义UserDetailsService时的步骤。通过示例展示了如何设置Remember-Me服务、认证提供者及过滤器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.如果不是自己重新复写了 userDetailsService 那么添加remember me 很简单

<http auto-config="true">
    ......
   <remember-me key="HedahaiSetThisKey" />
</http>


 

 2.如果你自己复写了 userDetailsService那么添加remember me 需要自己写filter

<http>
    ......
   <remember-me key="HedahaiSetThisKey" />
</http>

<beans:bean id="rememberMeServices"
	class="org.springframework.security.ui.rememberme.TokenBasedRememberMeServices">
	<beans:property name="userDetailsService" ref="userDetailsService" />
	<beans:property name="key" value="HedahaiSetThisKey" />
</beans:bean>

<beans:bean id="rememberMeAuthenticationProvider"
	class="org.springframework.security.providers.rememberme.RememberMeAuthenticationProvider">
	<beans:property name="key" value="HedahaiSetThisKey" />
</beans:bean>

<beans:bean id="authenticationProcessingFilter"
	class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter">
	<beans:property name="filterProcessesUrl">
            <beans:value>/loginPage.jsp</beans:value> 
        </beans:property>
        <beans:property name="authenticationFailureUrl">
            <beans:value>/loginPage.jsp?error=true</beans:value> 
        </beans:property>
        <beans:property name="defaultTargetUrl">
            <beans:value>/index.jsp</beans:value> 
        </beans:property>
	<beans:property name="authenticationManager">
		<beans:ref bean="authenticationManager" />
	</beans:property>
	<beans:property name="rememberMeServices">
                <beans:ref bean="rememberMeServices" />
        </beans:property>
</beans:bean>
	
<beans:bean id="rememberMeProcessingFilter"
        class="org.springframework.security.ui.rememberme.RememberMeProcessingFilter">
        <beans:property name="rememberMeServices" ref="rememberMeServices" />
        <beans:property name="authenticationManager" ref="authenticationManager" />
</beans:bean>

<beans:bean id="authenticationManager"
	class="org.springframework.security.providers.ProviderManager">
	<beans:property name="providers">
		<beans:list>
			<beans:ref local="daoAuthenticationProvider" />
			<beans:ref local="rememberMeAuthenticationProvider" />
		</beans:list>
	</beans:property>
</beans:bean>

<beans:bean id="userDetailsService" class="com.mis.bean.UserDetailsServiceImpl">
	<beans:constructor-arg ref="userRepository" />
</beans:bean>

<beans:bean id="passwordEncoder"
        class="org.springframework.security.providers.encoding.Md5PasswordEncoder" />

<beans:bean id="daoAuthenticationProvider"
	class="org.springframework.security.providers.dao.DaoAuthenticationProvider">
	<beans:property name="userDetailsService" ref="userDetailsService" />
	<beans:property name="passwordEncoder">
		<beans:ref local="passwordEncoder" />
	</beans:property>
</beans:bean>

以上配置都是基于2.0的配置,如果是3.0 包的位置不一样 请参考文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值