博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
引用借以记录借鉴 实现记住密码和自动登录功能
阅读量:4695 次
发布时间:2019-06-09

本文共 7095 字,大约阅读时间需要 23 分钟。

WEB页面代码:

后台代码:

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;                }                //获取是否有勾选自动登录的cookies                HttpCookie Login = Request.Cookies["Bic_LoginAuto"];                //当用户在系统点击退出时                if (Request["opFlag"] == "Exit")                {                    this.txtPassWord.Attributes.Add("value", "");//把密码去掉                    chkRemember.Checked = false;//记住密码去掉                    HttpCookie loginNameCookie = Request.Cookies["Bic_LoginName"];//获取登录名cookies                    HttpCookie loginPassCookie = Request.Cookies["Bic_Pass"];//获取密码cookies                    if (loginNameCookie != null)                    {                        //把cookies时间设为-2相当于删掉了cookies                        loginNameCookie.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("");                            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("");                }                else                {                    Response.Write("");                }            }            else            {                Response.Write("");            }        }

 

转载于:https://www.cnblogs.com/Warmsunshine/p/3531231.html

你可能感兴趣的文章
mysql DML DDL DCL
查看>>
RAMPS1.4 3d打印控制板接线与测试1
查看>>
python with语句中的变量有作用域吗?
查看>>
24@Servlet_day03
查看>>
初级ant的学习
查看>>
memcached 细究(三)
查看>>
RSA System.Security.Cryptography.CryptographicException
查看>>
webservice整合spring cxf
查看>>
[解题报告] 100 - The 3n + 1 problem
查看>>
Entity Framework 学习高级篇1—改善EF代码的方法(上)
查看>>
Mybatis逆向工程配置文件详细介绍(转)
查看>>
String类的深入学习与理解
查看>>
不把DB放进容器的理由
查看>>
OnePage收集
查看>>
Java parseInt()方法
查看>>
yahoo的30条优化规则
查看>>
[CCF2015.09]题解
查看>>
[NYIST15]括号匹配(二)(区间dp)
查看>>
json_value.cpp : fatal error C1083: 无法打开编译器生成的文件:No such file or directory
查看>>
洛谷 P1101 单词方阵
查看>>