zoukankan      html  css  js  c++  java
  • 【MVC5】使用域用户登录+记住我

    1.配置Web.config文件

    • 添加域链接字符串

    <connectionStrings>
        <add name="ADConnectionString" connectionString="LDAP://DC1.xxx.com.cn:389/DC=xxx,DC=com,DC=cn" />
      </connectionStrings>
    • 添加membership

    <system.web>
        <membership defaultProvider="ADMembershipProvider">
          <providers>
            <clear />
            <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" />
          </providers>
        </membership>
      </system.web>

    2.代码中使用配置好的Membership来验证用户登录信息

    public ActionResult Login(LoginModel model, string returnUrl)
    {
        if (!this.ModelState.IsValid)
        {
            return this.View(model);
        }
    
        if (Membership.ValidateUser(model.UserId, model.Password))
        {
            MembershipUser user = Membership.GetUser(model.UserId);
            // 用户角色
            List<string> roles = new List<string>();
            
            ... 
            
            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                1, 
                model.UserId, 
                DateTime.Now, 
                DateTime.Now.AddDays(30),    // 设置记住登录的时间(这里是30天)
                true,
                String.Join(",", roles));
            HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
            // 设置cookie的过期时间(这里是50年)
            cookie.Expires = DateTime.Now.AddYears(50);
            Response.Cookies.Add(cookie);
    
            return this.RedirectToAction("Index", "Home");
        }
    
        this.ModelState.AddModelError(string.Empty, "用户名或密码错误。");
    
        return this.View(model);
    }

    已添加到【MVC5】ASP.NET MVC 项目笔记汇总

  • 相关阅读:
    Mybatis plus 多表连接分页查询
    webstorm自动格式化.vue文件并符合Eslint
    Selenium python爬虫
    Cent OS防火墙配置端口开放
    开发Hexo主题(一)
    谷歌开发者主页回归
    个人博客网站
    linux搭建ftp
    putty之pscp上传文件
    送走了最好的兄弟 收到上交复试通知
  • 原文地址:https://www.cnblogs.com/Ryukaka/p/4913274.html
Copyright © 2011-2022 走看看