【发布时间】:2013-02-22 10:41:01
【问题描述】:
我必须做一个项目,其中会有许多用户将使用该应用程序。用户可以属于用户、执行人员或管理员。每个用户组都有自己的权利。所有数据都将存储在数据库中。
现在我正在做类设计,我不知道我是否必须设计一个类本身的权限,或者我是否应该只关注用户组,然后拒绝或允许访问数据库中的 CRUD 操作。
实现涉及用户或组的权利的好方法是什么?
【问题讨论】:
-
您将如何验证您的用户,以及需要何种程度的安全性? SQL Server 的内置安全性将提供更大的信心,但如果您的应用不能支持它,那么选择就不同了...
-
我计划使用一种预防性安全措施。就像用户看不到他不应该访问的按钮一样。例如,管理员拥有可以添加用户的控件,而高管和用户则没有。我的计划是,在加载表单时,它会检查坐在它前面的用户的权限,然后根据用户的组生成表单。
-
当然,把纵深防御的讨论放在一边,你没有任何真正的要求来强化数据库,所以你可能也可以使用任何框架——你是—— using 的授权行为并努力不掩盖它 - 它们通常很容易理解,并且可能会更好地记录:)
标签: sql-server database class-design rights-management