【问题标题】:Authenticate user using LinqtoLDAP使用 LinqtoLDAP 对用户进行身份验证
【发布时间】:2013-01-15 05:27:53
【问题描述】:

我正在使用 Linq to LDAP,想知道是否有办法使用 Linq to LDAP 对 AD 进行身份验证,

也许有这样的效果

var user = context.Query<User>().FirstOrDefault(u => u.SAMAccountName == "user123" && u.Password == "1234");

【问题讨论】:

  • 确实,也许。你试过了吗?结果如何?
  • 我不能这样做,因为 AD 中没有 Password 属性,或者至少我认为它不会以那种方式暴露出来
  • 我用的是AD查看器程序,没有密码属性,不像sAMAccountName

标签: c# linq active-directory windows-authentication linq-to-ldap


【解决方案1】:

在 AD 中搜索无法返回密码。您只能通过 SSL 修改它们。您可以尝试使用 LdapConnection 发出 Bind 请求,但这不需要 LINQ to LDAP,只需要 SYStem.DirectoryServices.Protocols。

var connection = new LdapConnection("localhost");

try
{
    connection.Bind(new NetworkCredential("username", "password", "domain"));
}
catch (LdapException ex)
{

}

您是否有不能使用 NTLM 或 Kerberos 的原因?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-10
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多