我们正在构建一个轻量级客户端记账应用程序的架构。它应该遵循两个主要要求:
1. 应用程序应具有模块化设计。每个模块可以拥有(实际上确实拥有)自己的角色系统。 2. 稍后,应用程序应适应在不同机器上使用不同数据库。
我们认为Asp.NET MVC 3是完成这项任务的合适平台。为了管理应用程序数据,我们选择了最新版本的Entity Framework-其批处理数据提供程序和Code First功能可以节省我们大量时间。
我们纠结于用户/角色管理系统。我们应该有某种全局管理部分来添加用户并授予他们对模块的访问权限(只有全局管理员可以将用户添加到系统中,不支持“路人甲”注册),每个模块都有自己的管理部分,有自己的管理员和角色。我们已经有了存储所有必需内容的数据模型,但不知道如何从应用程序中正确地访问这些数据。
目前,我们看到解决此问题的两种可能方法:
1. 基于我们的DAL编写自定义Membership和Role提供程序。我们团队中没有人做过这件事,所以我们不确定这种方式是否值得麻烦。成员提供程序无法提供应用程序需要的灵活性,因此需要一些妥协。 2. 翻阅一些过时的书籍,找出在Membership提供程序创建之前如何组织网站管理系统。
这两种方式都不够优雅、不明显,并且选择哪种方式也不是一个容易的问题。此外,我们相信还可以有其他解决方案(当然,架构可能会受到影响)。因此,我们很乐意听取与此问题相关的任何建议。
1. 应用程序应具有模块化设计。每个模块可以拥有(实际上确实拥有)自己的角色系统。 2. 稍后,应用程序应适应在不同机器上使用不同数据库。
我们认为Asp.NET MVC 3是完成这项任务的合适平台。为了管理应用程序数据,我们选择了最新版本的Entity Framework-其批处理数据提供程序和Code First功能可以节省我们大量时间。
我们纠结于用户/角色管理系统。我们应该有某种全局管理部分来添加用户并授予他们对模块的访问权限(只有全局管理员可以将用户添加到系统中,不支持“路人甲”注册),每个模块都有自己的管理部分,有自己的管理员和角色。我们已经有了存储所有必需内容的数据模型,但不知道如何从应用程序中正确地访问这些数据。
目前,我们看到解决此问题的两种可能方法:
1. 基于我们的DAL编写自定义Membership和Role提供程序。我们团队中没有人做过这件事,所以我们不确定这种方式是否值得麻烦。成员提供程序无法提供应用程序需要的灵活性,因此需要一些妥协。 2. 翻阅一些过时的书籍,找出在Membership提供程序创建之前如何组织网站管理系统。
这两种方式都不够优雅、不明显,并且选择哪种方式也不是一个容易的问题。此外,我们相信还可以有其他解决方案(当然,架构可能会受到影响)。因此,我们很乐意听取与此问题相关的任何建议。