最近在做ASP.NET的项目时,接触到了登陆权限模块,所有总结了一下登陆时用到的知识和方法技巧。

如图说明:实现的效果如图,由于验证码验证比较简单这里就不介绍了

Asp.Net_Session跟Cookie的记住登陆名

    首先用代码生成器生成项目,以三层为例进行说明, 那么我以BlogUser表为例,然后就会有一个BlogUser实体类对象。

登陆的思想:当我们登陆成功的时候要将实体存入到session中,免登陆也是这个思想,只不过是当我们勾选免登陆的时候,第一次登陆进去,那么将用户的id存入到cookie中去,通过用户的id查找用户的实体,再赋值给session,那么session就不为空,就可以实现免登陆了。那么我们的BasePage又是什么呢?首先BasePage里面是其它页面的父类,只有通过登陆才能让用户去访问其它的页面,那么我们就用到PageBase类,然后在BasePage进行判断,如果Session为空,那么用户没登陆就跳转到登陆页面让用户登陆才能访问其它页面。

BlogUserBLL bll = new BlogUserBLL();
               //1.去数据库判断用户名和密码是否正确
                List<BlogUser> list = bll.GetModelList("LoginName='" + name + "' and LoginPwd='" + md5Pwd + "'");
                //2.判断用户集合是否存在
                if(list.Count>0)
                {
                    //3.将用户信息保存到session中
                    Context.Session["uInfo"] = list[0];
                    //4.判断用户是否选中了记住登陆
                    if (!string.IsNullOrWhiteSpace(remember))
                    { 
                        //5.记住了就将用户id存入cookie中
                        HttpCookie cookie = new HttpCookie(“uid”,list[0].Id.ToString());
                        cookie.Expires = DateTime.Now.AddDays(3);
                        Context.Response.Cookies.Add(cookie);
                    }
                    Response.Write("<script>alert('登陆成功');window.location='BlogList.aspx'</script>");
                }
                else
                {
                    Response.Write("<script>alert('登陆失败,请重新登陆');window.location='/Login.aspx'</script>");
                }
                Response.End();
第一:前台登陆的主要代码:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
  • 2021-12-10
  • 2021-09-01
  • 2022-12-23
猜你喜欢
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2021-11-23
相关资源
相似解决方案