2013-02-22 56 views
0

我必须做一个项目,其中将有许多用户将使用该应用程序。用户可以属于用户,执行者或管理员。每个用户组都有自己的权利。所有数据将被存储在数据库中。在课堂设计中实施权利管理

现在我正在做类设计,我不知道是否必须自己设计一个类作为类,或者我应该只是注意用户组,然后才拒绝或允许访问数据库中的CRUD操作。

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

+0

您将如何验证您的用户以及需要多大程度的安全性? SQL Server的内置安全性会给予更大的信心,但是如果您的应用程序无法支持它,那么选择会有所不同... – chrisb 2013-02-22 11:08:40

+0

我计划使用一种预防性安全措施。像用户不能看到他不应该访问的按钮。例如,管理员拥有可以让他们添加用户的控件,高管和用户都不会。我计划的是,当表单加载时,它会检查坐在它前面的用户的权限,然后根据用户组生成表单。 – LeonidasFett 2013-02-22 11:23:47

+0

当然,除了你没有任何真正的要求来强化数据库,所以你可能还想使用任何框架 - 你使用的授权行为并且非常努力地尝试不要模糊它 - 它们通常很好理解,并且可能记录得更好:) – chrisb 2013-02-22 11:29:56

回答

0

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

设计权作为一类本身或...

取决于类的复杂程度。 ...我会说UserGroup类将拥有权利List,无论是复杂的对象或枚举的集合。如果你所有的商业模式都需要问“鲍勃有什么权利?”那么枚举列表对我来说听起来不错。一个枚举的替代方案是基类,每个权利都被分类。为这样一个微不足道的工作,恕我直言,太多的工作。

如果您不确定要走哪条路,请制作一个封装了权限列表的单独类。如果/从一个枚举类变为Right类,后退和第四个,它暴露给其他应用程序的“API”将不会改变。