• 登录身份证验证


    常用的登录身份验证一般有:session身份验证,Cookie身份验证,Forms Authentication身份验证,前两种很简单但,此博文重点讲forms authentition身份验证,

                DateTime expiration =  DateTime.Now.AddDays(14);
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                    1, //指定版本号:可随意指定
                   "UserName",//登录用户名:对应 Web.config 中 <allow users="Admin" … /> 的 users 属性
                    DateTime.Now,  //发布时间
                    expiration, //失效时间
                    true,//是否为持久 Cookie
                    userTemp.Id.ToString(), 
                    FormsAuthentication.FormsCookiePath); // 不指定则默认为“/”

    string str = FormsAuthentication.Encrypt(ticket); //加密身份验票 //声明一个 Cookie,名称为 Web.config 中 <forms name=".APSX" … /> 的 name 属性,对应的值为身份验票加密后的字串 HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, str); if (查询身份成功) { cookie.Expires = DateTime.Now.AddDays(14);//此句非常重要,少了的话,就算此 Cookie 在身份验票中指定为持久性 Cookie ,也只是即时型的 Cookie 关闭浏览器后就失效; } HttpContext.Current.Response.Cookies.Set(cookie); //或Response.Cookies.Add(ck);添加至客户端

    这样用户的身份就会保存到客户端的浏览器中,使用的时候可以这样去取值:

       int userId = ((System.Web.Security.FormsIdentity)(HttpContext.User.Identity)).Ticket.UserData.ToInt();
       string userName = ((System.Web.Security.FormsIdentity)(HttpContext.User.Identity)).Ticket.Name;
  • 相关阅读:
    TransportClient基于Elasticsearch6.8.6 X-PACK
    elasticsearch6.8.6配置xpack(生成密钥)
    Java8 List排序
    ssh 免密码登录自动设置脚本
    Linux grep命令用于查找文件里符合条件的字符串
    [译]如何防止elasticsearch的脑裂问题
    APScheduler定时任务使用
    storm本地python开发环境搭建
    关于python反射的getattr,我终于想通了!
    利用sqlalchemy 查询视图
  • 原文地址:https://www.cnblogs.com/wangchengshen/p/7402552.html
Copyright © 2020-2023  润新知