关于AD域验证登录网站客户端输入的账号密码是否匹配问题

qq_15061021 2018-03-07 05:26:02
我的网站的登录验证需要对接公司的AD域,我写控制台测试对接的时候参考了网上的一系列C#相关文档
public bool ADLogin(string userName, string password)
{
// sample :
// LDAP://xxx.com
string domain = System.Configuration.ConfigurationManager.AppSettings["AD_Domain"];

try
{
DirectoryEntry entry = new DirectoryEntry(domain, userName, password);
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = string.Format("(SAMAccountName={0})", userName);
search.PropertiesToLoad.Add("cn");


SearchResult result = search.FindOne();
if (result == null)
return false;
}
catch (Exception ex)
{
log.Error(ex);
return false;
}


return true;
}

但是关于这个验证模式,我很质疑,因为我在本地debug的时候,登录DirectoryEntry(domain, userName, password)用的如果是别人的域账号就直接报错了,用自己的没问题,那么如果我把他部署在服务器上面,会不会也有同样的错误
...全文
307 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2018-03-07
  • 打赏
  • 举报
回复
这个要看你的服务器是在哪个domin下,一般情况下服务器需要在和验证帐号同一domin下,当然domin互信也可以交错链接。

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧