java用户登录记住密码_java项目中登陆时记住密码
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项目中登陆时记住密码相关推荐
- java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份
Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...
- java单例模式的应用场景_java项目中单列模式适用于什么场景?
单例(Singleton)模式 也叫单态模式,是java的23种设计模式之一.网上很多介绍,我就言简意赅点了. 一.单例模式的应用场景 1.整个程序的运行中只允许有一个类的实例: 2.需要频繁实例化然 ...
- java解决跨域问题_Java项目中如何解决跨域问题
Java项目中如何解决跨域问题 发布时间:2020-11-11 16:00:40 来源:亿速云 阅读:91 作者:Leah Java项目中如何解决跨域问题?很多新手对此不是很清楚,为了帮助大家解决这个 ...
- java的相对路径用法_java项目中的绝对路径和相对路径用法说明
java项目中的绝对路径和相对路径用法说明 绝对路径:不可改变的路径 本地绝对路径:增加盘符的路径(e:/test/test.html) 网络绝对路径:增加协议,IP地址,端口号的路径(http:// ...
- java 遍历属性文件路径_Java项目中读取properties文件,以及六种获取路径的方法...
Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...
- java找不到配置文件_Java项目读取配置文件时,找不到指定的文件???
唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个 FileNotFoundException 系统找不到指定的文件,气死人啦. 还有就是:System.getP ...
- Java单点登录在校园身份管理系统中的实现
java单点登录在校园身份管理系统中的实现 摘要: 一个学校或企业的内部有很多信息系统,用户登录这些系统时需要进行身份认证.传统的认证机制是基于用户名和密码的,每一个系统都建立有自己的用户信息数据库, ...
- java用户登录界面并连接数据库(教师工资查询)
java用户登录界面并连接数据库(教师工资查询) 环境 语言:Java:数据库:MySql:环境:JDK8+Eclipse 步骤 1.数据库设计 要求: 实现: 2.实现该教师工资表管理所设计的类和文 ...
- 如何保证用户登陆时提交密码已经加密
如何保证用户登陆时提交密码已经加密?密码是否已加密,需要客户端和服务端建立约定,双方按约定办事就行了. 这里提到的另一个问题是,如何保证传输安全? 最理想的方案当然是走 HTTPS 协议. HTTPS ...
最新文章
- php中input的使用,php输入流php://input如何使用
- python32bit改64bit,从32位Python更改64位注册表
- linux C++ 多进程初步02
- 扣绩效,从来都不会让团队变得更好
- 2007浙大复试上机考试题目1--最小长方形
- 学习指南_学习指南语文—成于素养,归于方法
- ES6 Number
- 解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计...
- 【MPI0】学习资料搜集
- 悉尼大学计算机专业新生,2020年悉尼大学计算机科学专业课程设置难不难
- mysql fprintf_matlab中fprintf函数的用法详解
- phpwind支持php7吗,PHPWind 7正式发布
- 系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸
- 苹果id登录_英雄联盟手游用苹果id登录显示账号异常的解决方法_英雄联盟手游...
- Springboot实现过滤器
- SQL:DQL,DCL
- Matlab 归一化函数premnmx [-1,1]
- 2022腾讯云年终11.11活动优惠提前享: 一键领取元1888元早鸟券
- NLPIR中科院分词系统初始化失败
- 一键搭建网站(网站源码)