首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过SSL查询AD域

通过SSL查询AD域
EN

Stack Overflow用户
提问于 2010-10-23 02:04:48
回答 3查看 1.2K关注 0票数 1

我有一个域和端口号(636),以及一个用户名和密码。

我正在尝试想办法通过安全的LDAP连接到这个AD,并获得一个用户'givenname','sn','mail',可能还有一些自定义属性。

然而,我不知道如何在C#中做到这一点。

我认为微软可能已经有了解决这个问题的方法,但我将听从你们所有人的意见。

最终的用户体验将是:查看登录屏幕,输入用户名和密码,这些凭据将通过LDAP发送,用户信息将返回到我的web应用程序,然后如果一切顺利,我将他们登录……虽然我也不知道失败的尝试会是什么样子,所以我可以否认它们。有什么想法吗?

请包括代码示例,以便我可以理解实现,谢谢!

EN

回答 3

Stack Overflow用户

发布于 2010-10-23 02:11:16

你有没有试过google

编辑

很抱歉有这么多喧嚣和尖酸刻薄的回应。我认为你遇到的问题是你没有问对问题--无论是在这里还是在google上。无论如何,您在这里不需要少量的C#代码。您只需将您的web应用程序配置为使用AD作为成员提供程序。您需要一个连接字符串才能正确地完成这项任务

代码语言:javascript
复制
<connectionStrings>
    <add name="MyAd"
         connectionString="LDAP://adserver/OU=Users"
         />
</connectionStrings>

和成员资格提供程序:

代码语言:javascript
复制
<membership defaultProvider="AdProvider">
        <providers>
            <add 
                name="AdProvider"
                type="System.Web.Security.ActiveDirectoryMembershipProvider, 
                    System.Web, Version=2.0.0.0, 
                    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
                connectionStringName="MyAd"
                applicationName="ItRemoteHelpdesk"
                enablePasswordReset="false"
                 />
        </providers>
    </membership>

然后,用户可以使用其正常的用户名@域和密码登录。

票数 3
EN

Stack Overflow用户

发布于 2010-10-23 02:33:43

System.DirectoryServices.AccountManagement是用于较新的非LDAP身份验证的LDAP。

尝试这个网站作为一个很好的起点,代码示例:

http://www.codeproject.com/KB/system/usingAccountManagement.aspx

票数 1
EN

Stack Overflow用户

发布于 2010-10-23 04:35:11

你一定要检查一下Brad建议的.NET 3.5 System.DirectoryServices.AccountManagement命名空间。

要对如何使用它有一个良好的开端,请阅读MSDN Magazine文章:Managing Directory Security Principals in the .NET Framework 3.5

这篇文章确实多次谈到了如何安全地(使用SSL)连接到您的AD域,以及如何创建用户或检索用户信息。我认为仔细阅读这篇文章并尝试代码示例应该会让你对如何做你想做的事情有一个很好的想法。

更新:很明显,S.DS.AM中的所有这些方法都需要你在AD上通过认证的。新的类还提供了非常简单的用户凭证验证(如我链接的那篇文章所示):

代码语言:javascript
复制
// establish context 
PrincipalContext domain = new PrincipalContext(ContextType.Domain);

// determine whether a user can validate to the directory
bool validated = domain.ValidateCredentials("user1", "Password1");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3999636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档