在课堂设计中实施权利管理

时间:2013-02-22 10:41:02

标签: sql-server database class-design rights-management

我必须做一个项目,其中将有许多用户将使用该应用程序。用户可以属于Users,Executive或Administrator。每个用户组都有自己的权限。所有数据都将存储在数据库中。

现在我正在进行类设计,我不知道是否必须将权限设计为类本身,或者我是否应该只关注用户组,然后拒绝或允许访问数据库中的CRUD操作。 / p>

实施引用用户或群组的权利的好方法是什么?

1 个答案:

答案 0 :(得分:0)

设计满足您业务需求的类。我想象一些允许配置用户屏幕的“UI面向”类。在数据库端,我不知道“权利是用户”还是“用户拥有权利”;设计您的商业模式。当然,你需要grunt-code来映射到数据库中的信息。

  

将权利设计为一个类本身或......

取决于该课程的复杂程度。 ...我会说UserGroup类将拥有List个权限,无论是复杂对象的集合还是枚举。如果你所有的商业模式需要问“鲍勃有什么权利?”然后一个枚举列表听起来不错。枚举的替代是Right基类,每个权限都有子类。对于这种微不足道的使用工作太多了,恕我直言。

如果您不确定要走哪条路,请创建一个封装权限列表的单独类。如果/当你从枚举到Right课程,后面和第四课时,它暴露给你的应用程序其余部分的“API”将不会改变。