不同域的ASP.NET表单和Windows身份验证

时间:2012-07-25 07:16:20

标签: asp.net .net forms-authentication windows-authentication

我有以下要求:如果域2中的用户进入域1中的ASP.NET站点,则该站点应显示自定义登录表单以验证用户。但是,如果来自域1的用户浏览到相同的ASP.NET站点(在域1上),则会进行Windows身份验证(使用Active Directory),因此用户应直接访问站点内容,而无需查看登录表单。< / p>

我将如何做到这一点?

我首先需要检测request domains吗?我在Page_Load()中尝试了HttpContext.Current.Request,但尚未成功检测到请求来自哪个域。

另外,我应该如何设置站点身份验证模式?我是否需要域1用户使用Windows身份验证,域2用户需要forms authentication?我也无法成功,因为IIS 7.5抱怨我无法打开Windows和Forms身份验证。

感谢。

1 个答案:

答案 0 :(得分:0)

肯定不是答案,但由于篇幅很长,我将其添加为答案而非评论。 AFAIK,IIS 7.5允许启用两种身份验证但不通过web.config,您必须通过IIS管理控制台执行此操作,此外,您描述的方案是通过Sharepoint 2010中的声明身份验证(内联网窗口和外联网窗体)处理的。我认为同样的方法可以在ASP.NET应用程序中使用,因为Sharepoint也构建在ASP.NET 3.5之上。您可以查看.Net中存在的联合身份验证API。您可以浏览以下链接Claims Aware ASP.NET ApplicationsFederated Authentication以及Enabling Federated Authentication for ASp.NET in Azure。希望这会有所帮助。