【问题标题】:SharePoint : https area in a public websiteSharePoint:公共网站中的 https 区域
【发布时间】:2010-03-29 19:55:05
【问题描述】:

我正在开发一个使用 SharePoint (WSS) 构建的公共网站。我们需要在站点中添加一个区域,人们可以用他们的信用卡购买物品,显然该区域需要保护。

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

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

我对所涉及的 Web 部件(支付模块、购物车等)的开发感到满意,但我真的不知道在创建网站集时如何仅创建某些 https 页面。

您能否拥有部署受保护页面的功能?如果是这样,怎么做?您能否有一个启用 SSL 但用户在不丢失身份验证 (FBA) 的情况下被重定向到和来自的区域?

谢谢!

【问题讨论】:

    标签: sharepoint https wss


    【解决方案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 Rewrite 模块或通过 HttpModule 强制特定页面使用 SSL。

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

    【讨论】:

    • 很好的答案!选项#2 似乎是目前最好的选项,因为所有这些都可以相当快地完成。还将研究选项#3。我们有一个自动的 web.config 修改器,它可以消除所涉及的大部分开销。再次感谢您的回答,一旦我得到一些工作,将标记为已接受。
    【解决方案2】:

    您能否不扩展 Web 应用程序而仅在一个 Web 应用程序上启用 SSL。然后,您可以在需要时链接到该站点的安全版本。只要它们都在同一个域中,FBA cookie 就应该在这两个网络应用程序上都起作用。

    【讨论】:

    • 谢谢,试试看。我的印象是身份验证不会随之而来。
    【解决方案3】:

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

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

    如果请求url以http://mydomain.com/secure开头

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

    否则,如果请求 url 以 https://mydomain.com/general 开头

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

    否则

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

    这种方法的优点是 http 模块会更可靠,您不必依赖内容页面中的链接来进行切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      相关资源
      最近更新 更多