我们有一个ASP.NET Web应用程序,我们作为服务提供(它是托管的,可以在Web上访问)。我们使用表单身份验证,我们的用户必须输入用户名/密码才能连接到我们的应用程序。我们的一些客户要求我们通过使用自己的Active Directory对用户进行身份验证来支持单点登录。
我们的应用程序为每个客户提供了不同的URL
www.ourapp.com/client1/
www.ourapp.com/client2/
www.ourapp.com/client3/
并且每个URL都有自己的web.config文件(可以指定asp.net设置,并且可以因每个客户而异)。
此致
答案 0 :(得分:2)
检查How To: Use Forms Authentication with Active Directory in ASP.NET 2.0简而言之,您配置ActiveDirectoryMembershipProvider以验证客户AD的每个用户名/密码。客户必须为您创建一个允许执行验证的AD帐户 - 这可能是某些客户的问题。更重要的是,您的代码将处理用户在其内部网络中使用的实际用户名/密码,这对客户来说可能是一个更大的问题。
更安全的解决方案是使用ADFS使用联合(使用Windows Identity Foundation)或声明身份验证。在这种情况下,您“只”必须在您的域名和域名之间设置信任关系。