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);
                    }
                }
            }

     

  • 相关阅读:
    Spring MVC 通过ajax实现前后台交互
    一些基础的东西总结一下
    如何在页面中引用自定义标签
    Linux(centos)系统下安装fastdfs安装部署步骤,问题复现 并在java中集成测试demo
    Liunx下修改JVM内存大小
    在liunx下安装配置rabbitMQ详细教程
    Oracle创建用户、角色、授权、建表
    要做小程序的订阅推送 本篇 从小程序到后端!!!
    Thymeleaf入门入门入门入门入门入门入门入门入门入门入门
    git clone 解决Permission Denied (publickey)问题
  • 原文地址:https://www.cnblogs.com/wendj/p/6772613.html
Copyright © 2011-2022 走看看