首页 文章

LDAP身份验证传递凭据

提问于
浏览
0

我需要将LDAP凭据传递给Web服务以在C#中进行身份验证 .

我有一些设置让用户使用DirectoryEntry,但是,由于显而易见的原因我无法获取密码 .

我通过传递用户名/密码来验证C#中的第三方Web服务: j_username=me%40domain.com&j_password=mypassword%21

我知道获取LDAP密码是不可能的,但有没有更好的方法去做我正在做的事情?

2 回答

  • 0

    我会说你的问题不太清楚 . 你说你无法获得密码,但是你传递了一个密码,那么我们不是在谈论相同的密码,它是你正在谈论的LDAP管理员密码吗?但是问题是什么?请提供更多信息 . 我将冒险并告诉您,如果您的应用程序有应用程序服务器,您还可以从服务器配置对LDAP目录的访问,以便您可以直接对App Server而不是LDAP服务进行身份验证 . 这有帮助吗?请提供更多信息 .

  • 0

    您可以从Active Directory中retrieve a users password,但它需要在服务器本身上启用特殊设置,并且通常在安全实践方面受到鄙视 .

    您最好向用户提供一个简单的表单,他们可以输入用户名和密码,然后将绑定请求发送到目录服务器 . 当然,虽然看起来您通过Web服务的当前实现工作,但我将采取略有不同的方法,具体取决于谁将使用该应用程序:

    • 如果这是您组织内的内部应用程序,则可以通过IIS强制进行网络登录,这将取消对Web服务的需求 . 您可以在此处查看this link以获取一般概述,或者在this one中查看代码示例的更详细说明 .

    • 如果此应用程序是外部可用的,那么在针对Active Directory授权用户方面有很多选项 - 但是,您已经就此主题(在C#中)写了几个答案,并且代码本身以 System.DirectoryServices 为中心命名空间 . 有一个例子on this thread,也有on this one .

    我希望有所帮助 - 但如果您有任何其他问题,请随时给我留言 .

相关问题