zoukankan      html  css  js  c++  java
  • asp.net权限认证篇外:集成域账号登录

    在之前的我们已经讲过asp.net权限认证:Windows认证,现在我们来讲讲域账号登录,

    这不是同一件事哦,windows认证更多的是对资源访问的一种权限管控,而域账号登录更多的是针对用户登录的认证,他一般与forms认证结合一起使用

    demo就用之前的asp.net权限认证:Forms认证 

    1、改一下LoginController,如下

     1     public class LoginController : Controller
     2     {
     3         public ActionResult Index()
     4         {
     5             var returnUrl = Request["ReturnUrl"];
     6 
     7             if (Request.HttpMethod == "POST")
     8             {
     9                 try
    10                 {
    11                     // 格式为: 域登录名
    12                     var domainUser = Request["userid"];
    13                     var password = Request["password"];
    14                     var userArr = domainUser.Split('\');
    15 
    16                     var entry = new DirectoryEntry(string.Concat("LDAP://", userArr[0]), userArr[1], password);
    17                     var search = new DirectorySearcher(entry);
    18                     var result = search.FindOne();
    19                     if (result != null)
    20                     {
    21                         var ticket = new FormsAuthenticationTicket(
    22                             1,
    23                             userArr[1],
    24                             DateTime.Now,
    25                             DateTime.Now.AddMinutes(20),
    26                             true,
    27                             "role1,role2,role3,role4",
    28                             "/"
    29                         );
    30 
    31                         var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
    32                         cookie.HttpOnly = true;
    33                         HttpContext.Response.Cookies.Add(cookie);
    34 
    35                         return Redirect(returnUrl);
    36                     }
    37                 }
    38                 catch (Exception ex)
    39                 {
    40                     // 抛出异常。
    41                 }
    42             }
    43 
    44             ViewBag.ReturnUrl = returnUrl;
    45 
    46             return View();
    47         }
    48     }

    2、运行项目,出现登录页面,正常的,因为我们默认首页就加了权限限制,输入域账户口令

    3、登录

    完全没有问题,是不是很简单呀?

  • 相关阅读:
    Hibernate
    Redis的学习
    Redis的人门以及使用
    Win32 配置文件用法
    Using virtual lists
    windows log
    Win查询注册表获取CPU与内存参数
    MFC 多线程及线程同步
    使用Custom Draw优雅的实现ListCtrl的重绘
    MFC工具栏设计
  • 原文地址:https://www.cnblogs.com/lanxiaoke/p/6377385.html
Copyright © 2011-2022 走看看