SharePoint环境中的身份验证

时间:2009-08-04 16:40:09

标签: sharepoint windows-authentication

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

详细了解Authentication Resource Center上的身份验证。

最后几点......如果您可以使用SharePoint的默认身份验证机制而不是编写自己的控件,请使用它们,因为它们经过了充分测试和保护。此外,不要试图更改SharePoint的IIS设置,除非您确定没有其他方法可以执行您需要的操作。 SharePoint会定期更新这些内容,并可能会覆盖您的更改(或以其他方式让您感到悲伤)。