热线(9:00-18:00):13544706711
当前位置: 首页 > 教程技巧 > 

.Net C#域账号登陆验证

时间: 2018/09/29 09:02:08

//获取登陆页输入的域账号、密码
string domainIP = "";      //域IP
string 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 = "提示:您未开通系统的权限,请联系管理员。
You have no access to the system, please contact the administrator!
"; return View(); } #endregion FormsAuthentication.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 = "提示:登录失败: 未知的用户名或错误密码。
Account or Password is incorrect!
"; return View(); } }