2

我们正在开发一个使用集成身份验证的 Intranet 门户,但该站点的一些部分将暴露给不在域中的用户。对于这些用户,我们计划使用匿名访问。但是,我们对整个应用程序的显示逻辑是基于登录到门户的用户,因此我们对这种方法并不完全满意。两种类型的用户的 URL 必须相同,并且两种环境之间的转换必须是无缝的。

我们尝试在页面中使用用户控件进行身份验证,但没有成功。到达页面时,会弹出标准 Windows 身份验证灰色框。

有没有办法像 HTTP 应用程序一样在 IIS 级别拦截请求?如果适用,我们将禁用匿名访问,对于未经身份验证的用户,我们将模拟具有最低权限的域帐户并重定向到主页。

4

1 回答 1

3

SharePoint 并不是真正为您描述的混合身份验证类型的方案而设计的。它将 Web 应用程序专用于一种类型的身份验证。然后,您可以“扩展”该 Web 应用程序以在另一个地址上使用另一种类型的身份验证。例如,您的 Intranet 门户将使用 Windows 身份验证。然后可以将其扩展为在另一个端口或域名上使用匿名身份验证。

您所描述的一种选择是配置两个单独的 Web 应用程序。一种是针对需要进行身份验证的用户。另一种是匿名访问。在适当的位置配置内容,并根据需要在两者之间建立链接。如果您使用此方法,您域中的用户在连接到经过身份验证的站点时不应收到登录提示。您域外的用户将收到一个登录框,并且无法访问。

如果您域外的用户需要访问您的 Intranet,请考虑对他们使用表单身份验证。(再一次,您网站的“经过身份验证的表单”部分将扩展为唯一的域名或端口。)这意味着他们将在首次连接时被提示在页面上的表单中输入他们的凭据。

在身份验证资源中心阅读有关身份验证的更多信息。

最后几点... 如果您可以使用 SharePoint 的默认身份验证机制而不是编写自己的控件,请使用它们,因为它们经过了良好的测试和安全。此外,除非您确定没有其他方法可以满足您的需求,否则不要试图更改 SharePoint 的 IIS 设置。SharePoint 会定期更新这些内容,并且可能会覆盖您的更改(或以其他方式让您感到痛苦)。

于 2009-08-05T08:34:01.297 回答