【问题标题】:Two websites from one original MVC code base来自一个原始 MVC 代码库的两个网站
【发布时间】:2012-08-21 20:51:11
【问题描述】:

我有一个针对所有用户运行 AD 身份验证的网站。我正在向网站添加一个模块,该模块作为主页上的选项卡存在。有一个新的想法是最新的标签可以是它自己的网址/网站。但无需任何AD认证,对公众开放。由于到目前为止所有内容最初都构建在一个代码库中,因此仅为一个选项卡内容创建一个新网站是否容易。选项卡/模块有自己的控制器、自己的视图,但有一些共享引用/服务层代码。处理这种情况的最佳方法是什么。由于安全问题,将变成新网址/网站的新标签将托管在单独的服务器上。

  1. 是否需要两个代码库,一个包含旧网站代码,一个包含新模块添加代码?或者我们可以只做这两个网站吗 使用单一代码库?
  2. 如果我将新模块代码分离到新服务器的新代码库中,我猜我需要复制原始项目并 修剪掉任何不需要的旧模块/控制器/视图等。这是 推荐的方法?
  3. 一般来说,有人如何处理这种情况,特别是两部分身份验证方式的差异(一个有 AD,一个没有身份验证)

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 active-directory


    【解决方案1】:

    为什么不将这些模块与 ASP.NET MVC 区域分开。将现有代码放在一个区域,将新的公共内容放在第二个区域。您现在可以在两个区域的控制器中使用公共服务层代码,因为它(区域)属于同一个 UI 项目。

    【讨论】:

    • 如果我创建两个新区域,它真正增加了什么......它是否使托管两个不同的网站变得容易?怎么样?
    • 您可以共享这两个区域的常用服务调用。与托管无关。从同一个代码库分开托管
    • 如果我不做区域,我会不会无法分享常用的服务方法..?您能否介绍一下我如何从同一个代码库中进行单独托管?
    【解决方案2】:

    如果模块不需要身份验证,它可以单独运行,您可以将它包含在需要身份验证的站点中。

    但是我从您的问题中得到的信息是,该模块并不是那么模块化,因为它依赖于确实需要身份验证的模块。所以改变依赖关系,让它们也能独立存在。

    【讨论】:

      猜你喜欢
      • 2011-10-28
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多