SpaceManSpiff Asked: 2009-08-01 05:04:34 +0800 CST2009-08-01 05:04:34 +0800 CST 2009-08-01 05:04:34 +0800 CST 非域 IIS 服务器在域上进行身份验证? 772 我有一个 IIS 服务器,它是不在域中的独立服务器。 所以用户不必登录到本地用户数据库,我可以拥有 IIS 服务器,根据域控制器对用户进行身份验证,或者至少将用户的登录名传递给 IIS 应用程序吗? 可以假设用户会信任该网站。 active-directory authentication iis 3 个回答 Voted Best Answer Dscoduc 2009-08-01T07:50:58+08:002009-08-01T07:50:58+08:00 在试图弄清楚如何将 Active Directory 用于 BlogEngine.NET 时,我遇到了类似的要求。在花了一些时间研究之后,我能够将 Active Directory 用户帐户与 Basic Authentication .NET Membership 框架一起使用。 这适用于我的域成员 Web 服务器,但可以轻松地用于非域成员服务器,假设您将用户名和密码添加到 web.config 的配置部分。 从我关于如何配置的博客文章中: 在指向您的域控制器的部分中添加一个条目。 <add name="ADConnectionString" connectionString="LDAP://server.domain.com/DC=domain,DC=com" /> 请注意 LDAP:// 语法的第一部分指定域控制器的名称 (server.domain.com)。您在这里有几个选择。您可以指定完全限定域名,如示例所示;您可以指定 relativeDistinguishedNamek(例如服务器);您可以指定域控制器的 IP 地址(例如 192.168.1.10);或者为了获得更多冗余,您可以仅指定域名(例如 domain.com)。 使您的部分如下所示: <membership defaultProvider="MyADMembershipProvider"> <providers> <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" enableSearchMethods="true"/> </providers> </membership> 您会注意到我没有为连接到 Active Directory 配置用户名和密码。那是因为我在域成员服务器上运行 BlogEngine 并且 IIS 服务正在使用网络服务帐户的应用程序池下运行。如果您必须使用显式凭据,那么您可以将 connectionUsername 和 connectionPassword 添加到带有适当信息的 MyADMembershipProvider 条目。 Tatas 2009-08-01T10:23:08+08:002009-08-01T10:23:08+08:00 如果可能,我建议使用 LDAPS 调用而不是 LDAP。如果您要开始以纯文本形式传递域密码,我还建议您使用 SSL。 Michael Shaw 2009-08-01T10:35:03+08:002009-08-01T10:35:03+08:00 虽然我同意加密的 LDAP,但也要在配置文件中加密域密码....(钥匙在垫子下面,还是在花盆后面?)
在试图弄清楚如何将 Active Directory 用于 BlogEngine.NET 时,我遇到了类似的要求。在花了一些时间研究之后,我能够将 Active Directory 用户帐户与 Basic Authentication .NET Membership 框架一起使用。
这适用于我的域成员 Web 服务器,但可以轻松地用于非域成员服务器,假设您将用户名和密码添加到 web.config 的配置部分。
从我关于如何配置的博客文章中:
在指向您的域控制器的部分中添加一个条目。
请注意 LDAP:// 语法的第一部分指定域控制器的名称 (server.domain.com)。您在这里有几个选择。您可以指定完全限定域名,如示例所示;您可以指定 relativeDistinguishedNamek(例如服务器);您可以指定域控制器的 IP 地址(例如 192.168.1.10);或者为了获得更多冗余,您可以仅指定域名(例如 domain.com)。
使您的部分如下所示:
您会注意到我没有为连接到 Active Directory 配置用户名和密码。那是因为我在域成员服务器上运行 BlogEngine 并且 IIS 服务正在使用网络服务帐户的应用程序池下运行。如果您必须使用显式凭据,那么您可以将 connectionUsername 和 connectionPassword 添加到带有适当信息的 MyADMembershipProvider 条目。
如果可能,我建议使用 LDAPS 调用而不是 LDAP。如果您要开始以纯文本形式传递域密码,我还建议您使用 SSL。
虽然我同意加密的 LDAP,但也要在配置文件中加密域密码....(钥匙在垫子下面,还是在花盆后面?)