繁体   English   中英

在asp.net中的C#中进行LDAP身份验证

[英]LDAP authentication in C# in asp.net

在我的网络应用程序中,我有一个login.aspx页面。 当我输入用户名和密码时,我需要在远程服务器上验证它。 它们只向我提供服务器名称(路径)和域名(不知道密码和用户名)。 如何做呢?

我的web.config

  <authentication mode="Forms">
    <forms loginUrl="Login.aspx" timeout="10"/>
  </authentication>

在ASP.Net MVC中读过LDAP身份验证,但在成员资格提供程序中,他们用连接,密码和用户名写了。

我该怎么办?

就像答案那样:

连接保护,用户名和密码适用于有权代表系统查询AD的帐户。 根据网络的安全性,可能必须进行设置,否则您将无法查询AD以对用户进行身份验证。

这取决于服务器的配置如何进行身份验证。

如果您需要做的只是验证用户是否存在且密码是否有效,您可以使用以下内容:参数是域名,USER ID和USER密码。 由于我们没有查询任何内容,因此非管理员权限就可以了。

public static bool LogonValid(string ldapDomain, string userName, string password) {
    DirectoryEntry de = new DirectoryEntry(@"LDAP://" + ldapDomain, userName, password);

  try {
    object o = de.NativeObject;
    return true;
  }
    catch (Exception ex) {
    logger.Error(ex.ToString());
    return false;
  }
}

可能的原因是这不适用于所有情况,但到目前为止它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM