0

我们有不同的基于网络的产品。所有产品共享相同的底层认证和授权机制。所有都在同一数据库服务器上,并最终发布到同一服务器。

每个项目都有自己的命名空间、文件夹结构和页面。仍然由于身份验证和授权是共享的,我们在所有项目中使用登录和其他页面。

此外,为了使项目/产品的外观和感觉统一,我们使用相同的母版页。

目前我们有一个单独的项目,其中包含用于共享事物的代码、标记和脚本等。我们将标记和其他内容复制到所有项目中以构建和运行它们。这真是一个地狱。我们必须始终包含/排除文件、更改命名空间等,以确保所有依赖项目中共享的东西都是相同的版本。

以我们不寻求庇护的方式处理这一切的最佳方法是什么?

我们正在使用 ASP.Net 4.0、Visual Studio 2010、Telerik 2013 Q1 版本。

4

1 回答 1

1

您有多种选择来改善您的情况。最适合您的选择可能不仅仅取决于您提供的信息,但以下可能值得调查。

  1. 解耦授权系统。如果多个应用程序使用单一的通用授权代码库,那么您可能需要考虑将功能解耦到一个独立的(可能基于 Web 服务的)应用程序中。通过这样的架构进行授权很棘手,并且从安全的角度来看很容易出错,但是是可以实现的。授权代码库将只需要维护在一个位置,这将不可避免地减少部署和构建事故。

  2. 扩展配置管理。您的应用程序是否具有任何配置管理功能?如果没有,它应该。它可以很好地解决您在包含和排除以及命名空间切割方面的问题,尤其是与第 3 点结合使用时。

  3. 改进的版本控制管理。听起来好像您可能没有充分利用您的版本控制系统。尽管您在问题中提到了版本,但如果您为不同的应用程序维护一个公共主干的不同分​​支,那么命名空间以及包含和排除的分割可能会减少甚至没有必要,因为定制可以共存。

于 2013-04-10T17:44:00.460 回答