0

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

我该怎么做呢?

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

另外,我应该如何设置站点身份验证模式?我需要对域 1 用户进行 Windows 身份验证,对域 2 用户进行表单身份验证吗?我也未能成功,因为 IIS 7.5 抱怨我不能同时打开 Windows 和 Forms 身份验证。

谢谢。

4

1 回答 1

0

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

于 2012-07-25T07:42:47.980 回答