//获取登陆页输入的域账号、密码string domainIP = ""; //域IPstring userAccount = ""; //域账号string Password = ""; //域账号密码 using (DirectoryEntry deUser = new DirectoryEntry(@"LDAP://" + domainIP, userAccount, Password)){DirectorySearcher src = new DirectorySearcher(deUser);src.Filter = "(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=" + userAccount + "))";src.PropertiesToLoad.Add("cn");src.SearchRoot = deUser;src.SearchScope = SearchScope.Subtree;SearchResult result = src.FindOne();if (result != null)//验证成功{DirectoryEntry de = result.GetDirectoryEntry();string userID = de.Username;#region 域账号验证通过后判断是否用户在本系统中var existUser = new DAL.Maintain.UserOP().GetData(userID);if (existUser == null){ViewBag.ErrorInfo = "提示:您未开通系统的权限,请联系管理员。<br/>You have no access to the system, please contact the administrator!";return View();} #endregionFormsAuthentication.SetAuthCookie(userID, false);Session.Add("UserID", userID);Logger.DefaultLog.Info("登陆sessionUserID:" + Session["UserID"].ToString());if (string.IsNullOrEmpty(ReturnUrl)){return Redirect(Url.Action("Index", "Home"));}else{//...}}else{ViewBag.ErrorInfo = "提示:登录失败: 未知的用户名或错误密码。<br/>Account or Password is incorrect!";return View();}}
.Net域账号登陆验证
原文地址:https://www.cnblogs.com/i-mengli/p/9625551.html