非域IIS服务器在域上进行身份validation?

我有一个IIS服务器是一个独立的服务器不在域上。

因此,用户不必login到本地用户数据库,我可以拥有IIS服务器,对照域控制器validation用户,还是至less让用户的login名传递给IIS应用程序?

可以假设用户将信任该网站。

在试图找出如何利用ActiveEngine for BlogEngine.NET时遇到了类似的需求。 花了一些时间研究后,我可以使用基本身份validation.NET成员框架使用Active Directory用户帐户。

这在我的域成员web服务器上工作,但可以很容易地为非域成员服务器工作,假设您将用户名和密码添加到web.config的configuration部分。

从我的博客文章如何configuration:

将条目添加到指向您的域控制器的部分。

<add name="ADConnectionString" connectionString="LDAP://server.domain.com/DC=domain,DC=com" /> 

请注意,LDAP://语法的第一部分指定了域控制器(server.domain.com)的名称。 这里有几个选项。 您可以指定完全限定域名,如示例中所示; 你可以指定relativeDistinguishedNamek(例如server); 您可以指定域控制器的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> 

您会注意到我没有configuration用于连接到Active Directory的用户名和密码。 这是因为我正在域成员服务器上运行BlogEngine,并且IIS服务正在使用networking服务帐户的应用程序池下运行。 如果您必须使用显式凭据,则可以使用相应的信息将connectionUsername和connectionPassword添加到MyADMembershipProvider条目中。

如果可能的话,我build议使用LDAPS调用,而不是LDAP。 我也build议使用SSL,如果你要开始以纯文本传递你的域名密码。

虽然我同意encryption的LDAP,也encryptionconfiguration文件中的域密码以及….(垫下或植物盆后?)