SSM用户登录界面记住我实现

本文详细介绍了如何在SSM(Spring、SpringMVC、MyBatis)项目中实现用户登录的'记住我'功能。通过在登录界面勾选记住我,将用户信息保存在Cookie中,设置一定的有效期。当用户再次访问时,前端页面从Cookie读取信息,自动填充用户名和密码。同时,阐述了取消勾选时如何清除Cookie中的登录信息,确保用户可以手动登录。
摘要由CSDN通过智能技术生成

1. 用户登录

1.1 登录前

  1. 在该项目中/system/*路径是后台管理路径,该路径不能被随意访问,必须对其就行限制.
  2. 使用SpringMVC的Interceptor拦截器拦截管理路径下的所有资源
  3. 在Interceptor配置文件中对/system/login.jsp登录页面放行
  4. 将用户的用户名和密码发送到控制器就行处理,正确则跳转到登录页面,并将用户对象的session文件保存到服务器,不正确则返回错误信息,拦截器进行处理跳转到登录页面
  5. 使用HandlerInterceptor接口的实现类获取session中的信息,匹配拦截器中preHandle方法中的信息,信息一致则放行跳转到后台管理页面;不一致则将用户的请求重定向到后台登录页面

1.2 登录界面的记住我选项

1.2.1 勾选记住我

  1. 将checkbox的value属性设置为1
  2. 在控制器根据传入的用户名和密码在数据库中进行匹配,用户信息正确则保存到cookie中
  3. 设置cookie的路径及最大保存时间一般是一周
  4. 将cookie响应到浏览器保存
  5. 在登录页面写入js代码获取cookie将其赋值到input输入框中实现自动输入用户名和密码

前端页面代码

$(function(){
   
    //获取cookie
    var cookies = document.cookie;
    //初始化username和password
    var username = null;
    var password = null;
    //判断cookie是否包含username这个名称
    if (cookies.indexOf("username")!=-1){
   
        //以;分割cookie获得cookie数组
        var cookieArry = cookies.split(";");
        //根据索引获取数组中的元素
        for(var index  in  cookieArry){
   

            var element = cookieArry[index];
            //判断元素是否包含username字符串
            if (element.indexOf("username")!=-1){
   
                //使用substring获取=之后的值赋值给用户名
                username=element.substring(element.indexOf("=")+1);
                console.debug(username);
            }else if (element.indexOf("password")!=-1){
   
                passwo
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值