0

我有一个现有的、相当简单的 MVC5 站点,在不久的将来可能需要 CMS 功能。Piranha 似乎符合我的所有核心要求,最重要的是它可以以一种不显眼的方式集成。我花了几天时间在我的网站上设置它,到目前为止我真的很喜欢它,但有几件事我不确定。

在我当前的设置中,我使用的是 Piranha 的被动模式,带有无前缀的永久链接。我的计划是在 Piranha 中设置一个页面层次结构,以反映我的站点结构并通过永久链接拉入页面模型,然后将页面模型合并到我现有的视图模型中,以便我可以开始允许内容管理。

我的问题是:

  1. 将管理器站点和 MVC 站点分开的推荐部署方法是什么?理想情况下,我想将它们部署为单独的站点,以便对管理站点的访问可以在我们的防火墙之后,而 MVC“前端”可以在 Internet 上匿名访问。如果这是所需的场景,是否最好只对同一站点进行两个单独的配置 - 一个具有 disableManager=true 和一个 false,并且只部署到两个单独的 IIS 站点?
  2. 是否可以对管理器站点使用 Windows 身份验证?设置它的最佳方法是什么?
  3. 假设 Windows 身份验证是一个选项,这对于管理器站点中现有的基于表单的用户和角色管理意味着什么?
  4. 如果我决定将来关闭被动模式以允许在 CMS 中创建其他页面(由内容作者),我怎样才能让它停止与我现有的 /home/index 操作冲突?我尝试关闭被动,但无法弄清楚如何将默认页面提供程序路由与我现有的主页路由“混合”(以便“/”路由到我的 /home/index,而不是通过页面提供程序路由)

谢谢!

4

1 回答 1

0
  1. 您的建议肯定会奏效,但是当部署到两个不同的站点时,您需要使用分布式缓存,以便在管理器中更新时重新加载公共站点中的条目。您还需要一个分布式媒体提供商,以便上传的媒体存储在两个站点都可以访问的位置。

  2. 现在不行

  3. 看上面

  4. 最简单的方法当然是在 cms 中创建一个起始页,以路由到您现有的家庭控制器。这样,菜单管理将知道您在结构中的位置。如果你想完全绕过起始页, / 请求会被一个特殊的 startpagehandler 拦截,你可以删除它。

问候

哈坎

于 2015-02-28T07:32:11.347 回答