• 判断用户是否登录


    在项目中,往往会有一些操作是限于登录后的用户,但怎么判断用户是否登录呢?

    首先,写一个类:需要验证登录的页面继承这个类就可以了

    View Code
        public class CheckLogin:System.Web.UI.Page
        {
            protected override void OnInit(EventArgs e)
            {
                if (Session["user"]==null)
                {
                    Common.WebCommon.GotoPage();//调用的方法是跳转页面的
                }
                base.OnInit(e);
            }
        }

    登录页代码:

    View Code
        public partial class Login : System.Web.UI.UserControl
        {
            BLL.Users userbll = new BLL.Users();
            protected void Page_Load(object sender, EventArgs e)
            {
                if (IsPostBack)
                {
                    //校验登陆密码用户名
                    CheckLogin();
                }
                else
                {
                    //校验cookie
                    CheckCookie();
                }
            }
            /// <summary>
            /// 校验登陆
            /// </summary>
            private void CheckLogin()
            {
                string txtName = Request.Form["txtName"];
                string txtPass = Request["txtPass"];
    
                if (userbll.CheckLoginId(txtName))
                {
                    Model.Users usermodel = userbll.CheckUserInfo(txtName, txtPass);
                    Session["user"] = usermodel;
                    if (usermodel != null)
                    {
                        //判断用户是否选择了复选框
                        if (!string.IsNullOrEmpty(Request.Form["CheckMe"]))
                        {
                            HttpCookie cookie1 = new HttpCookie("cp1", txtName);
                            HttpCookie cookie2 = new HttpCookie("cp2", Entry(txtPass));
                            //cookie1.Expires.AddDays(3);
                            cookie1.Expires = DateTime.Now.AddDays(3);
                            cookie2.Expires = DateTime.Now.AddDays(3);
                            Response.Cookies.Add(cookie1);
                            Response.Cookies.Add(cookie2);
                        } GotoPage("登陆成功!");
                    }
                    else
                    {
                        Response.Redirect("/ShowMsg.aspx?msg=" + Server.UrlEncode("密码错误") + "&txt=" + Server.UrlEncode("登陆页面") + "&url=/regex/ULogin.aspx");
                    }
    
                }
                else
                {
                    //用户名不存在
                    Response.Redirect("/ShowMsg.aspx?msg=" + Server.UrlEncode("用户名不存在") + "&txt=" + Server.UrlEncode("登陆页面") + "&url=/regex/ULogin.aspx");
                }
            }
            /// <summary>
            /// 登陆后跳转
            /// </summary>
            /// <param name="p"></param>
            private void GotoPage(string msg)
            {
                if (!string.IsNullOrEmpty(Request.QueryString["returnUrl"]))
                {
                    Response.Redirect(Request.QueryString["returnUrl"]);
                }
                else
                {
                    Response.Redirect("/ShowMsg.aspx?msg=" + Server.UrlEncode(msg) + "&txt=" + Server.UrlEncode("首页") + "&url=/ListBook/ListBook.aspx");
    
                }
            }
            /// <summary>
            /// 校验cookie
            /// </summary>
            private void CheckCookie()
            {
                if (Request.Cookies["cp1"] != null && Request.Cookies["cp2"] != null)
                {
    
                    string name = Request.Cookies["cp1"].Value.ToString();
                    string pwd = Request.Cookies["cp2"].Value.ToString();
                    Model.Users usermodel = userbll.CheckUserInfo(name);
                    string EntypwdModel = Entry(usermodel.LoginPwd);
                    //密码一致
                    if (EntypwdModel == pwd)
                    {
                        Session["user"] = usermodel;
                        GotoPage("登陆成功");
                    }
    
                }
                else
                {
                    Response.Cookies["cp1"].Expires = DateTime.Now.AddDays(-1);
                    Response.Cookies["cp2"].Expires = DateTime.Now.AddDays(-1);
                }
            }
    
            public string Entry(string pwd)
            {
                return Web.HRMD5.GetMd5FromString(Web.HRMD5.GetMd5FromString(pwd));
            }
    
        }
  • 相关阅读:
    【20220502】连岳摘抄
    【20220423】家是孩子最重要的教育场所
    【20220425】连岳摘抄
    【20220430】连岳摘抄
    【20220427】二宝让我们省吃俭用
    【20220503】连岳摘抄
    工作感受月记202205月
    Appium实现百词斩
    Appium自动微信读书打卡
    删除ssh 连接缓存
  • 原文地址:https://www.cnblogs.com/guohuiru/p/3056011.html
Copyright © 2020-2023  润新知