2010-03-29 182 views
1

我正在使用SharePoint(WSS)构建的公共网站上工作。我们需要在人们可以用信用卡购买物品的网站上添加一个区域,显然这个区域需要得到保护。SharePoint:公共网站中的https区域

该网站正在使用基于表单的身份验证,并且用户需要在来自https区域来回移动时保持登录状态。

我知道如何为新的Web应用程序/网站集启用SSL,但对于我来说这不是一个真正的选择,因为该网站已经在线,并且我们不希望整个事情得到保护。

我对所涉及的webparts(支付模块,购物车等)的开发感到满意,但我无法真正了解如何在创建网站集时创建仅某些https页面。

您可以使用部署受保护页面的功能吗?如果是这样,怎么样?您是否可以启用启用了SSL的区域,但用户是否重定向到了而不丢失其身份验证(FBA)?

谢谢!

回答

1

有几种方法可以解决这个:

  1. 如果你的防火墙支持的话,你可以在防火墙级别终止SSL,并有确定哪些网页需要通过SSL进行保护(使用ISA服务器如)并保持现有的网站。

  2. 或者,您可以将现有网站设置为通过HTTPS和HTTP接受请求。在IIS级别,这涉及到安装SSL证书并在端口443上添加附加绑定。在SharePoint级别,还需要添加备用访问映射以使SharePoint知道https URL。我已将这些步骤记录在http://www.sharepointconfig.com/2010/03/configuring-a-sharepoint-website-to-allow-ssl-connections/。然后,您可以使用IIS 7 URL重写模块或通过HttpModule强制使用特定页面来使用SSL。

  3. 您可以将Web应用程序扩展到新的IIS网站(Microsoft建议在http://technet.microsoft.com/en-us/library/cc298636.aspx的文章中为HTTP和SSL使用单独的IIS网站)。这确实增加了运行和管理两个IIS网站,web.config等的开销,这可能或可能不是必需的。这种方法也需要某种方式将请求重定向到适当的协议。

+0

很好的回答!选项#2似乎是目前最好的选择,因为所有这些都可以很快完成。也将考虑选项#3。我们有一个自动的web.config修饰符,它可以消除大部分涉及的开销。再次感谢您的回答,一旦我找到工作,就会被接受。 – 2010-04-01 13:17:02

1

您是否可以不扩展该Web应用程序并在一个Web应用程序上启用SSL。然后,您可以在需要时链接到网站的安全版本。只要他们都在同一个域上,FBA cookie就可以在两个网络应用上工作。

+0

谢谢,会试试看。我的印象是认证不会遵循。 – 2010-03-30 17:40:59

0

我想尝试的另一个选择是将所有内容保留在同一个Web应用程序中,但要将其设置为可以通过SSL和非SSL进行访问。

然后我会写一个HttpModule,它检查传入的请求url并在安全和非安全状态之间来回重定向。例如,逻辑可能是这个样子

如果请求的URL与http://mydomain.com/secure

开始 - >重定向到https://mydomain.com/secure

不然,如果请求的URL与https://mydomain.com/general

开始 - >重定向到http://mydomain.com/general

其他

- >什么也不做,让请求执行

这种方法的好处是,http模块将更加可靠,您将不必依靠内容页面中的链接进行切换。