WEB页面代码:

            <form id="Form1" runat="server"><input type="hidden" id="hidPass" runat="server" /><input type="text" runat="server" id="txtLoginName" /><asp:TextBox runat="server" ID="txtPassWord" class="textwidthheigh" TextMode="Password"></asp:TextBox><input type="checkbox" runat="server" value="记住密码" id="chkRemember" onclick="CheckRemember()" /><input type="checkbox" runat="server" value="自动登录" id="chkLogin" onclick="CheckLogin()" /><asp:Button runat="server"  id="btnLogin"  onclick="btnLogin_Click"  /><input type="button" id="btnClear" onclick="Clear()"  /></form><script type="text/javascript" language="javascript">//页面加载用户名输入框获得焦点
            document.getElementById("txtLoginName").focus();function Clear() {//用户点击取消,清空用户名和用户密码
            document.getElementById("txtLoginName").value = "";document.getElementById("txtPassWord").value = "";}function CheckLogin() {//用户勾选自动登录时,把记住密码也勾选上var remember = document.getElementById("chkRemember");remember.checked = true;}function CheckRemember() {var remenber = document.getElementById("chkRemember");var login = document.getElementById("chkLogin");if (remenber.checked == false) {login.checked = false;//用户去掉记住密码时,也把自动登录去掉
            }}</script>

后台代码:

 protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){//获取客户端的Cookies,分别两个cookies,一个登陆名,一个密码HttpCookie LoginNameCookie = Request.Cookies["Bic_LoginName"];HttpCookie LoginPassCookie = Request.Cookies["Bic_Pass"];if (LoginNameCookie != null){//登录名的cookies不为空,填充登陆名txtLoginName.Value = LoginNameCookie.Value;}if (LoginPassCookie != null){//密码cookies不为空,给密码框和隐藏密码框填充,当然我们的密码是加密过才存到cookies去的,至于以藏文本框的作用后面就会看到this.txtPassWord.Attributes.Add("value", LoginPassCookie.Value + "");hidPass.Value = LoginPassCookie.Value + "";//赋值给隐藏控件chkRemember.Checked = true;}//获取是否有勾选自动登录的cookiesHttpCookie Login = Request.Cookies["Bic_LoginAuto"];//当用户在系统点击退出时if (Request["opFlag"] == "Exit"){this.txtPassWord.Attributes.Add("value", "");//把密码去掉chkRemember.Checked = false;//记住密码去掉HttpCookie loginNameCookie = Request.Cookies["Bic_LoginName"];//获取登录名cookiesHttpCookie loginPassCookie = Request.Cookies["Bic_Pass"];//获取密码cookiesif (loginNameCookie != null){//把cookies时间设为-2相当于删掉了cookiesloginNameCookie.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(loginNameCookie);}if (loginPassCookie != null){//把密码的cookies也删掉loginPassCookie.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(loginPassCookie);}//自动登录cookies也一样HttpCookie login = Request.Cookies["Bic_LoginAuto"];if (login != null){login.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(login);}}else//用户打开登录界面时
                {//自动登录cookies不为空,用户名不为空,隐藏框密码不为空if (Login != null && txtLoginName.Value != "" && hidPass.Value != ""){SysUser user = new SysUser();user.Login_Name = txtLoginName.Value;user.Login_Pass = hidPass.Value;int i = SysUserBLL.Login(user);//验证登录if (i > 0){//成功登录跳转到default.aspx页面Page.Session["Login_Name"] = user.Login_Name;HttpContext.Current.Session["Display_Name"] = SysUserBLL.getDisplayNameByname(user.Login_Name);Response.Write("<script>window.location='Default.aspx';</script>");Response.End();}}}}}//点击登录按钮事件protected void btnLogin_Click(object sender, EventArgs e){//判断是否为空if (txtLoginName.Value.Trim() != "" && txtPassWord.Text.Trim() != ""){SysUser user = new SysUser();user.Login_Name = txtLoginName.Value.Trim();user.Login_Pass = CommonHelper.MD5encipher(txtPassWord.Text.Trim());//MD5加密HttpCookie LoginNameCookie = Request.Cookies["Bic_LoginName"];HttpCookie LoginPassCookie = Request.Cookies["Bic_Pass"];if (LoginNameCookie != null)//如果是记住密码情况
                {if (txtLoginName.Value.Trim() == LoginNameCookie.Value.Trim())//读取到cookies保存的用户名和文本框用户名相同,预防用户又改动
                    {if (LoginPassCookie != null){if (txtPassWord.Text.Trim() == LoginPassCookie.Value.Trim())//cookies读取到的密码和文本框密码相同
                            {user.Login_Pass = txtPassWord.Text.Trim();}}}}int i = SysUserBLL.Login(user);//验证登录if (i > 0){if (chkRemember.Checked == true)//记住密码
                    {HttpCookie loginNameCookie = new HttpCookie("Bic_LoginName", user.Login_Name);HttpCookie loginPassCookie = new HttpCookie("Bic_Pass", user.Login_Pass);loginPassCookie.Expires = DateTime.Now.AddDays(1);loginNameCookie.Expires = DateTime.Now.AddDays(1);Response.Cookies.Add(loginNameCookie);Response.Cookies.Add(loginPassCookie);if (chkLogin.Checked == true)//自动登录
                        {HttpCookie Login = new HttpCookie("Bic_LoginAuto", "true");Login.Expires = DateTime.Now.AddDays(1);Response.Cookies.Add(Login);}else{HttpCookie Login = Request.Cookies["Bic_LoginAuto"];if (Login != null){Login.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(Login);}}}else//没选记住密码
                    {HttpCookie loginNameCookie = Request.Cookies["Bic_LoginName"];HttpCookie loginPassCookie = Request.Cookies["Bic_Pass"];if (loginNameCookie != null){loginNameCookie.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(loginNameCookie);}if (loginPassCookie != null){loginPassCookie.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(loginPassCookie);}}Page.Session["Login_Name"] = user.Login_Name;HttpContext.Current.Session["Display_Name"] = SysUserBLL.getDisplayNameByname(user.Login_Name);Response.Write("<script>window.location='Default.aspx';</script>");}else{Response.Write("<script>alert('用户名或密码错误!');window.location='Login.aspx';</script>");}}else{Response.Write("<script>alert('请输入账号和密码!');window.location='Login.aspx';</script>");}}

引用借以记录借鉴 实现记住密码和自动登录功能相关推荐

  1. 业务系统实现记住密码和自动登录功能

    业务系统实现记住密码和自动登录功能 公司的业务系统本来是受域控的,用户不需要登录可以直接访问系统.当然,虽然不用人工登录,系统本身会读取电脑的用户名为登录标识,对系统操作权限和记录也是以电脑名.近段时 ...

  2. 记住密码 和 自动登录功能(登录)

    前台页面: <body><form id="Form1" runat="server"><input type="hid ...

  3. Winform 实现记住密码和自动登录

    一般的软件都有记住密码和自动登录功能,所以今天说一种winform的记住方式. 效果: 关闭软件,再次打开时,密码已经填写好了,不需要输入. 点击登录也能校验成功,完美实现登录记住账号密码. 自动登录 ...

  4. Cookie实现记住密码及自动登录

    最近对华丹快速开发平台进行升级,需要对实现记住密码以及自动登录功能,下面主要说一下如何用cookie实现此功能. 一.什么是cookie? Cookie,有时也用其复数形式Cookies.是保存在客户 ...

  5. 基于localStorge开发登录模块的记住密码与自动登录

    前沿||我是乐于分享,善于交流的鸟窝 先做写一篇关于登录模块中记住密码与自动登录的模块.鸟窝微信:jkxx123321 关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个 ...

  6. android 自动登录机制,Android登录记住密码以及自动登录的实现

    记住密码以及自动登录的实现主要依赖于SharedPreferences类的使用,SharedPreferences是一个轻量级的存储类,用于存储一些小数据,比如登录账号密码以及状态信息等. 本文章只针 ...

  7. EChat(简易聊天项目)六、实现记住密码和自动登录

    利用SharedPreferences登录界面记住密码和自动登录 ①修改login_layout.xml文件,增加如下代码,即添加2个勾选框 <LinearLayoutandroid:orien ...

  8. Android登录记住密码以及自动登录的实现

    记住密码以及自动登录的实现主要依赖于SharedPreferences类的使用,SharedPreferences是一个轻量级的存储类,用于存储一些小数据,比如登录账号密码以及状态信息等. 本文章只针 ...

  9. Cookie实现记住密码、自动登录

    前端代码 <form id="form" action="xxx" method="post"><div><i ...

最新文章

  1. AI入门:不用任何公式把推荐系统讲清楚
  2. 阿里云服务器(ECS)CentOS修改yum源为阿里源
  3. Janus流媒体服务器框架分析
  4. 大数据资产管理在腾讯游戏的实践
  5. java统计词频算法_java实现的统计字符算法示例
  6. AFNetworking 对数据进行https ssl加密
  7. c++常用知识点,易错点,面试常问点
  8. 宝塔面板之nginx 配置
  9. 03 验证合法性连接的服务端
  10. dial协议服务器可以禁吗,Radius协议   1812  radius
  11. 比较器应用一:滞回比较器
  12. 18款表白源码,搭建网站必备,总有一款适合你
  13. 在3ds max中,什么是PBR材质?
  14. WPS公式标号对齐,公式居中问题
  15. js 统计输入的字数 不包括输入法中的字母
  16. 清华大学计算机综合基础真题,【盛世清北】2021清华大学912计算机专业基础综合考研真题-清华考...
  17. linux服务器odbc在哪看,在Linux上寻找odbc.ini和odbcinst.ini文件的良好文档
  18. 高项-信息系统项目管理师-重要考点
  19. Python字符串拼接
  20. java图片处理以及pdf转图片

热门文章

  1. 第二十四篇:可靠信号机制
  2. 不得不爱,Visual Studio Code十大超酷特性
  3. Android系统Recovery工作原理之使用update.zip升级过程分析(五)
  4. liunx服务(Nginx服务器 web服务器源码包和rpm 服务平滑升级)
  5. 其他OJ 树型DP 选课
  6. 搬家到新地址:http://kittsoft.xp3.biz/,欢迎访问!
  7. C语言——实现用链表存储学生信息,当输入0退出输入,并查找学号为3的学生是否存在
  8. rabbitmq 启动报错 Failed to get nic info
  9. datetimepicker时间控件
  10. css样式重置,不建议用通配符