0

我有以下要求:如果域2中的用户进入域1中的ASP.NET网站,则该网站应显示一个自定义登录表单以验证用户。但是,如果来自域1的用户与域名1上的ASP.NET站点冲突,则会发生Windows身份验证(使用Active Directory),因此用户应该直接访问站点内容而不必查看登录表单。不同域的ASP.NET表单和Windows身份验证

我该怎么做呢?

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

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

谢谢。

回答

0

当然不是答案,但由于长度的原因,我将其添加为答案而不是评论。 AFAIK,IIS 7.5允许启用两个身份验证,但不通过web.config,您必须通过IIS管理控制台执行此操作,此外,您描述的场景是通过索赔身份验证(内部网的窗口和Extranet的窗体)在Sharepoint 2010中处理的。我认为同样的方法可以在ASP.NET应用程序中使用,因为Sharepoint也建立在ASP.NET 3.5之上。您可以查看.Net中的联合身份验证API。您可以浏览以下链接Claims Aware ASP.NET ApplicationsFederated AuthenticationEnabling Federated Authentication for ASp.NET in Azure。希望这可以帮助。