zoukankan      html  css  js  c++  java
  • ASP.NET登录记住用户名

    案例如下:

    1:首先在登录的控制器中定义一个全局变量

            public const string LonginName = "sessName";

    2:在登陆的方法中

      public ActionResult Login(string userNameOrEmailAddress = "", string returnUrl = "", string successMessage = "")
            {
                if (string.IsNullOrWhiteSpace(returnUrl))
                    returnUrl = Url.Action("Index", "Application");

                ViewBag.ReturnUrl = returnUrl == "/" ? "" : returnUrl;
                ViewBag.IsMultiTenancyEnabled = _multiTenancyConfig.IsEnabled;

    var model = new LoginFormViewModel();           

        HttpCookie remCookie = HttpContext.Request.Cookies[LonginName];
     
                if (remCookie != null)
                {
                    model.RemberName = remCookie.Value;
                }
                else
                {
                    model.RemberName = "";
                }

                model.TenancyName = _tenancyNameFinder.GetCurrentTenancyNameOrNull();
                model.IsSelfRegistrationEnabled = true;
                model.SuccessMessage = successMessage;
                model.UserNameOrEmailAddress = userNameOrEmailAddress;
                return View(model);
            }

    3:在登陆成功后记录Cookie

            /// <summary>
            /// 注入登录信息到Cookie
            /// </summary>
            /// <returns></returns>
            private async Task SignInAsync(ClaimsIdentity identity = null, bool rememberMe = false)
            {

                HttpCookie remCookie = HttpContext.Request.Cookies[LonginName];
                // 登录成功后记录Session
                if (rememberMe)
                {
                    HttpCookie cook = new HttpCookie(LonginName);
                    cook.Expires.AddDays(7);
                    cook.Value = identity.Name;
                    HttpContext.Response.SetCookie(cook);
                }
                else
                {
                    if (remCookie != null)
                    {
                        remCookie.Value = null;
                        HttpContext.Response.SetCookie(remCookie);
                    }
                }
            }

     

  • 相关阅读:
    blocksit
    getdata
    ASP.net 探针
    301重定向
    webapi
    Unity NGUI UIPanel下对粒子的剪裁
    unity3d 之本地推送
    c#之时间戳与DateTime的相互转换
    c#之从服务器下载压缩包,并解压
    Unity3d 开发之 ulua 坑的总结
  • 原文地址:https://www.cnblogs.com/wendj/p/6772613.html
Copyright © 2011-2022 走看看