spring security 3.0x remember-me 免登陆


 

    很多网站登陆的时候都会提供“记住我”或者“记住我&&周”的选项,spring security 3也提供了此功能,本人写了两个demo,一个是基于cookie来实现免登陆,一个是基于数据库的:

   1 基于cookie的remember-me

    spring security的配置如下:

 




	
	  
	  
	  
	  
	  
	   
	
	  
	  
	  
	  	
	  
	  
	  
	  
	  
	  
	  
	  
	 

	 
	 
	      
	      
      		
      			
      		
	           
	                
	                
	      
	 
	 

   2 基于数据库的rember-me

   首先要建一张表记录登陆:

   

create table persistent_logins (username varchar(64) not null, series varchar(64) primary key, token varchar(64) not null, last_used timestamp not null)

   然后spring security的配置与第一种配置不一样的地方在

   

    此处的myDataSource要在spring的配置文件中配置:

   

  
  
    
    
    
    
  

 

    测试,jsp登陆代码如下:

   
Account:
Password:
记住我

 

    验证是否记住用户的页面为index.jsp,页面代码为:

 

  
  	


用户名称:

    如果用户登陆就会显示登陆用户的名称,

 

 

 

   使用第一种配置登陆后,可以在浏览器中查看cookie,

  
spring security 3.0x remember-me 免登陆_第1张图片
 此时关掉浏览器,重新打开浏览器访问http://localhost:8080/spring_security/index.jsp,页面显示为:

 
spring security 3.0x remember-me 免登陆_第2张图片
 

 

 

 

  使用第二种配置登陆后,数据库中的数据,


spring security 3.0x remember-me 免登陆_第3张图片
 


此时关掉浏览器,重新打开浏览器访问http://localhost:8080/spring_security/index.jsp

页面显示为:

 
spring security 3.0x remember-me 免登陆_第4张图片

 
 

 

 

 

 

 

你可能感兴趣的:(spring,security)