1.在登陆的时候记住密码,不知自动登陆;

2.登陆页面,填写用户名,密码,点击记住密码,下次进入登陆页面的时候,填写同样的用户名,密码自动填充(在不一次会话的情况下也就是说在不关闭浏览器的情况下);

3.这样,可以有效的防止自动登录时的不安全性

思路:

首先设置一个多选框,记住密码

调用remember方法function remember(){1.设置一个remFlag,用来确定是否选中记住密码的多选框;2.获取checkbox的值;3.提醒用户是否要选中记住密码4.返回remFlag}

当调用login的方法时,获取remFlag的值,将remFlag作为参数传递给后台;

判断remFlag是否为1,如果为1,说明选中记住密码的按钮,之后(1.获取用户名密码,2创建cookies,3.将用户名密码作为值赋给cookies中,传递给前台)

5. 在$(function).ready({})的方法中获取cookies中的用户名密码,进行使用blur的方式进行填充

代码如下:

1.

记住密码

2.

function remember(){

var remFlag= $("input[type='checkbox']").is(':checked');if(remFlag==true){ //如果选中设置remFlag为1//cookie存用户名和密码,回显的是真实的用户名和密码,存在安全问题.

var conFlag = confirm("记录密码功能不宜在公共场所(如网吧等)使用,以防密码泄露.您确定要使用此功能吗?");if(conFlag){ //确认标志

$("#remFlag").val("1");

}else{

$("input[type='checkbox']").removeAttr('checked');

$("#remFlag").val("");

}

}else{ //如果没选中设置remFlag为""

$("#remFlag").val("");

}

}

3.

function login(){if(check()){

var userName= $("#userName").val();

var password= $("#password").val();

var remFlag= $("#remFlag").val();

$.ajax({

type:"POST",

url:'login/userLogin.action',

data: {userName:userName,password:password,remFlag:remFlag},

dataType:'json',

cache:false,

success: function(data){

window.location.href="index.jsp?no-cache=" +Math.random();

}

}

4.

@RequestMapping("/userLogin")public voiddoLogin(HttpServletRequest request,HttpServletResponse response){

String msg= "";

String userName= request.getParameter("userName");

request.getSession().setAttribute("userName",userName);

String password= request.getParameter("password");//记住用户名、密码功能(注意:cookie存放密码会存在安全隐患)

String remFlag = request.getParameter("remFlag");if("1".equals(remFlag)){ //"1"表示用户勾选记住密码

/*String cookieUserName = Utils.encrypt(name);

String cookiePwd = Utils.encrypt(passWord);

String loginInfo = cookieUserName+","+cookiePwd;*/String loginInfo= userName+","+password;

Cookie userCookie=new Cookie("loginInfo",loginInfo);

userCookie.setMaxAge(-1); //存活期为关闭浏览器cookie消失

userCookie.setPath("/");

response.addCookie(userCookie);

}

Subject subject=SecurityUtils.getSubject();

String pwd= newMd5Hash(password).toHex();

UsernamePasswordToken token= newUsernamePasswordToken(userName, pwd);

JSONObject job= newJSONObject();

subject.login(token);

}

5.

$(document).ready(function() {

changeCode();

$("#codeImg").bind("click", changeCode);//记住密码功能

var str = response.getCookies("loginInfo");

str= str.substring(1,str.length-1);

var username= str.split(",")[0];

var password= str.split(",")[1];//自动填充用户名和密码

/*$("#userName").val(username);

$("#password").val(password);*/$("#userName").blur(function(){

var usrName=$("#userName").val();if(username==usrName){

$("#password").val(password);

}else{

$("#password").val('');

}

});

});

java用户登录记住密码_java项目中登陆时记住密码相关推荐

  1. java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

    Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...

  2. java单例模式的应用场景_java项目中单列模式适用于什么场景?

    单例(Singleton)模式 也叫单态模式,是java的23种设计模式之一.网上很多介绍,我就言简意赅点了. 一.单例模式的应用场景 1.整个程序的运行中只允许有一个类的实例: 2.需要频繁实例化然 ...

  3. java解决跨域问题_Java项目中如何解决跨域问题

    Java项目中如何解决跨域问题 发布时间:2020-11-11 16:00:40 来源:亿速云 阅读:91 作者:Leah Java项目中如何解决跨域问题?很多新手对此不是很清楚,为了帮助大家解决这个 ...

  4. java的相对路径用法_java项目中的绝对路径和相对路径用法说明

    java项目中的绝对路径和相对路径用法说明 绝对路径:不可改变的路径 本地绝对路径:增加盘符的路径(e:/test/test.html) 网络绝对路径:增加协议,IP地址,端口号的路径(http:// ...

  5. java 遍历属性文件路径_Java项目中读取properties文件,以及六种获取路径的方法...

    Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...

  6. java找不到配置文件_Java项目读取配置文件时,找不到指定的文件???

    唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个 FileNotFoundException 系统找不到指定的文件,气死人啦. 还有就是:System.getP ...

  7. Java单点登录在校园身份管理系统中的实现

    java单点登录在校园身份管理系统中的实现 摘要: 一个学校或企业的内部有很多信息系统,用户登录这些系统时需要进行身份认证.传统的认证机制是基于用户名和密码的,每一个系统都建立有自己的用户信息数据库, ...

  8. java用户登录界面并连接数据库(教师工资查询)

    java用户登录界面并连接数据库(教师工资查询) 环境 语言:Java:数据库:MySql:环境:JDK8+Eclipse 步骤 1.数据库设计 要求: 实现: 2.实现该教师工资表管理所设计的类和文 ...

  9. 如何保证用户登陆时提交密码已经加密

    如何保证用户登陆时提交密码已经加密?密码是否已加密,需要客户端和服务端建立约定,双方按约定办事就行了. 这里提到的另一个问题是,如何保证传输安全? 最理想的方案当然是走 HTTPS 协议. HTTPS ...

最新文章

  1. php中input的使用,php输入流php://input如何使用
  2. python32bit改64bit,从32位Python更改64位注册表
  3. linux C++ 多进程初步02
  4. 扣绩效,从来都不会让团队变得更好
  5. 2007浙大复试上机考试题目1--最小长方形
  6. 学习指南_学习指南语文—成于素养,归于方法
  7. ES6 Number
  8. 解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计...
  9. 【MPI0】学习资料搜集
  10. 悉尼大学计算机专业新生,2020年悉尼大学计算机科学专业课程设置难不难
  11. mysql fprintf_matlab中fprintf函数的用法详解
  12. phpwind支持php7吗,PHPWind 7正式发布
  13. 系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸
  14. 苹果id登录_英雄联盟手游用苹果id登录显示账号异常的解决方法_英雄联盟手游...
  15. Springboot实现过滤器
  16. SQL:DQL,DCL
  17. Matlab 归一化函数premnmx [-1,1]
  18. 2022腾讯云年终11.11活动优惠提前享: 一键领取元1888元早鸟券
  19. NLPIR中科院分词系统初始化失败
  20. 一键搭建网站(网站源码)

热门文章

  1. 通俗易懂!视觉slam第八部分——李群,李代数
  2. 全球首发!惯性导航导论(剑桥大学)第十一部分
  3. 浙大 PAT b1023
  4. data2vec!统一模态的新里程碑
  5. Python Cookbook手记I
  6. ps2019布尔运算快捷键_超实用:换个角度教你快速理解PS CS6布尔运算
  7. Hexo中Next主题个性化美化的解决方案
  8. 用python实现的的手写数字识别器
  9. 用户修改了信息jwt服务器怎么识别,django使用JWT保存用户登录信息
  10. matlab调用kmeans_使用 K 均值聚类实现基于颜色的分割