我正在使用SharePoint(WSS)构建的公共网站。我们需要在网站中添加一个区域,人们可以用信用卡购买物品,显然需要保护区域。
网站正在使用基于表单的身份验证,用户在从https区域来回移动时需要保持登录状态。
我知道如何为新的网络应用程序/网站集启用SSL,但这对我来说不是一个选项,因为该网站已经在线并且我们不希望整个事情得到保护。
我对所涉及的webparts(支付模块,购物车等)的开发很满意,但我无法弄清楚如何在创建网站集时仅创建某些https页面。
您是否拥有部署受保护网页的功能?如果是这样,怎么样?您是否可以拥有启用SSL的区域,但是在不丢失其身份验证(FBA)的情况下将用户重定向到哪个区域?
谢谢!
答案 0 :(得分:1)
您是否可以扩展Web应用程序并在一个Web应用程序上启用SSL。然后,您可以在需要时链接到网站的安全版本。只要它们都在同一个域中,FBA cookie就可以在两个Web应用程序上运行。
答案 1 :(得分:1)
有几种方法可以解决这个问题:
如果您的防火墙支持它,您可以在防火墙级别终止SSL并确定哪些页面需要通过SSL保护(例如使用ISA服务器)并保持现有站点不变。
或者,您可以将现有网站设置为通过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。
您可以将Web应用程序扩展到新的IIS网站(Microsoft建议在http://technet.microsoft.com/en-us/library/cc298636.aspx的文章中为HTTP和SSL使用单独的IIS站点)。这确实增加了运行和管理两个IIS网站的开销,web.config等可能需要也可能不需要。这种方法还需要某种方法将请求重定向到适当的协议。
答案 2 :(得分:0)
我会尝试的另一个选择是将所有内容保留在同一个Web应用程序中,但要设置它以便可以通过SSL和非SSL访问它。
然后我会编写一个HttpModule来检查传入的请求URL并在安全状态和非安全状态之间来回重定向。例如,逻辑可能看起来像这样
如果请求网址以http://mydomain.com/secure
开头- >重定向到https://mydomain.com/secure
否则,如果请求网址以https://mydomain.com/general
开头- >重定向到http://mydomain.com/general
其他
- >什么都不做,让请求执行
这种方法的优点是http模块更可靠,您不必依赖内容页面中的链接来进行切换。