如何在JavaEE中使用cookie实现记住用户明名密码下次自动登录

如何在JavaEE中使用cookie实现记住用户明名密码下次自动登录,第1张

例如:在用户提交用户名密码之后,进入到loginServlet后,通过获取页面上checkbox的值来判断用户是否需要记住密码,如果需要的话,使用:Cookie cookie = new Cookie("testkey","testvalue");cookiesetMaxAge(3600);// 有效时间,单位是秒cookiesetPath("abc");responseaddCookie(cookie);如上几句来保存cookie。在登录页面的时候,需要使用:Cookie[] cookies = requestgetCookies();for (int i = 0; cookies != null && i < cookieslength; i++) { Systemoutprintln(cookies[i]getName() + "=" + cookies[i]getValue());}来获取cookie的值判断用户曾经是否已经记住密码,如果是的话,则直接调用cookie的值来进行登录,如果不是,则正常登录

_我是谁
原创
关注
0点赞·757人阅读
<%@ page contentType="text/html;charset=GBK"%>
<%@ page language="java" import="javautilregex,
comexcellencecommonOAConstant,
comexcellencecommonUserInfo,
javautil,
javatextSimpleDateFormat," %>
<html>
<head>
<title>XX系统</title>
<meta >md5加密是不可逆的,像记住密码的话是不用md5加密来在本地保存用户的用户名和密码的,而是可以通过像DES这种可逆的加密方式来在本地保存数据。如果想在本地也用md5加密,那么你登录的时候必然会对加密字符串再做一次加密处理,无解。而用DES的话,从文件中读取的时候就可以进行一次解密,然后再通过md5加密验证其用户名密码的正确性,不仅可以解决安全问题,多次加密的麻烦也就可以解决了。

利用cookie再加上时限即可实现记住密码功能。比如在密码验证通过以后添加以下代码:

<%
responsecookies("hehe")("username")=username  '记住用户名
responsecookies("hehe")("password")=password  '记住密码
responsecookies("hehe")expires=date()+7      '7日内有效
%>

而在显示用户名和密码的表单上则这样处理:

<input name=username type=text value="<%=requestcookies("hehe")("username")%>">
<input name=password type=password value="<%=requestcookies("hehe")("password")%>">

这样的话,在显示登陆界面时,如果cookies中已经记住了你的用户名和密码,就会自动显示出来(当然,密码显示的是圆点)。

1、定义一个加密处理的class类,通常可以使用MD5来加密,在网络上可以找到此Java源代码
2、在保存用户的密码时,先对获取的密码进行MD5加密后再保存到数据,如:
String passwd=requestgetParameter("passwd");
passwd=MD5(passwd);
//通过JDBC写入到数据库
3、在用户登录时,将用户登录输入的密码进行MD5加密后与数据库读取的密码进行比较,若相等若通过登录:
String passwd=requestgetParameter("passwd");

if(MD5(passwd)equal(rsget("passwd")))
//通过登录


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13372285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存