前台页面:

<body><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><br /><input type="checkbox" runat="server" value="记住密码" id="chkRemember" οnclick="CheckRemember()" />记住密码<input type="checkbox" runat="server" value="自动登录" id="chkLogin" οnclick="CheckLogin()" />自动登录<br /><asp:Button runat="server" ID="btnLogin" οnclick="btnLogin_Click" Text="登录" /><input type="button" id="btnClear" οnclick="Clear()" value="取消"/></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>
</body>

后台页面:

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>");}}

 以上的注释只是我个人的一些思路和理解,如有不正确之处,还望大牛指导指导啊。如觉得文章对你有帮助,请多多支持,你们的支持将会是我写博客的动力。

转载于:https://www.cnblogs.com/kk6228/p/3493491.html

记住密码 和 自动登录功能(登录)相关推荐

  1. Android之记住密码与自动登陆实现

    本文主要讲述了利用sharedpreference实现记住密码与自动登陆功能 根据checkbox的状态存储用户名与密码 将结果保存在自定义的application中,成为全局变量 布局文件 < ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 盒子 收藏帖子 转移-实现向网页自动填写用户名密码并自动点击登录按钮 完成全自动凳录...

    //实现向网页自动填写用户名密码并自动点击登录按钮 完成全自动凳录 Function FillForm(WebBrowser: TWebBrowser2; FieldName: String; Val ...

  10. [css] 怎样修改chrome记住密码后自动填充表单的黄色背景?

    [css] 怎样修改chrome记住密码后自动填充表单的黄色背景? input:-webkit-autofill { -webkit-box-shadow: 0 0 3px 100px #eee in ...

最新文章

  1. 系统设计与架构笔记:ETL工具开发和设计的建议
  2. JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue .
  3. OA软件实施中三个不能做的
  4. 第九章 思科竞争谋略
  5. Master DNS服务的搭建
  6. 【BZOJ】【4145】【AMPPZ2014】The Prices
  7. strstr和strcchr查找字符串和区别
  8. Mac OS X下查看CPU信息
  9. 输入框限制只能输入数字,正数、负数、0,最多两位小数;数字输入框可以输入负数,并最多保留两位小数;el-number-input去掉四舍五入和自动补齐小数;
  10. IsDebuggerPresent()
  11. 对做“互联网产品”的一些想法
  12. 2010年 我的齐鲁软件大赛作品
  13. Sass:基础用法学习笔记
  14. java7 调优_JVM故障分析及性能优化系列之七:使用MAT的Histogram和Dominator Tree定位溢出源...
  15. 用户体验要素的五个层次
  16. 第4章 Spring的IoC容器之BeanFactory(四)
  17. Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)---zhangkaitao
  18. 《谁动了我的奶酪》读书笔记
  19. 我参加第七届NVIDIA Sky Hackathon——训练ASR模型
  20. PID控制 优选法(黄金分割法)具体试验方法

热门文章

  1. Linux磁盘扩容详解
  2. CDH中yarn的动态资源池的相关配置
  3. Unity Standard-SurfaceShader透明测试与透明混合
  4. java多线程下载文件(断点下载、进度展示、网速展示)
  5. 波兰式转为逆波兰式——2016年华为笔试最后一题
  6. mysql联合主键_初探SQL语句复合主键与联合主键
  7. 如何删除讨厌的微软拼音输入法
  8. 【OpenGl】openGL 诸多库之间关系 及 环境配置
  9. Jenkins安装教程-包教包会
  10. vue php项目目录结构,vue的项目结构须知