Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 使用Access实现RBAC的最佳方法_Security_Ms Access_Access Control_Rbac - Fatal编程技术网

Security 使用Access实现RBAC的最佳方法

Security 使用Access实现RBAC的最佳方法,security,ms-access,access-control,rbac,Security,Ms Access,Access Control,Rbac,我正在编写一个新的应用程序,其中包含许多用户、几个角色以及这些角色的特定权限。为此,我想创建以下表格: Users (ID,Login, password,..) Roles(ID,Rolename) User_Roles(User_ID, Role_ID) Permissions(ID,PermissionName) Permission_Roles(Permission_ID, Role_ID) 我的想法是构建一个函数,它允许检查用户是否具有访问表单的特定权限。我可以通过创建权限/规则来实

我正在编写一个新的应用程序,其中包含许多用户、几个角色以及这些角色的特定权限。为此,我想创建以下表格:

Users (ID,Login, password,..)
Roles(ID,Rolename)
User_Roles(User_ID, Role_ID)
Permissions(ID,PermissionName)
Permission_Roles(Permission_ID, Role_ID)
我的想法是构建一个函数,它允许检查用户是否具有访问表单的特定权限。我可以通过创建权限/规则来实现这一点,比如“canReadFormX”、“canEditFormX”,这将允许我使用一个主函数来检查和执行这些特定的规则,并为每个表单创建一个函数来调用它


这是一条路要走(或者说我对RBAC的所有理解都正确了),还是说这太复杂了?任何建议都非常感谢

对于我来说,这似乎是公平的,与我们已经为前3张桌子设置的内容类似

然后,您必须解决“操作”问题,即分配使用appl操作的权限。我不确定您的“权限”提案是否涵盖所有情况,因为您必须处理两大类行动:

  • 您已经确定的“开放表单”行动:您必须为每个表单定义两个级别的授权:“查看”权限和“更新”权限
  • 所有其他操作,例如特定于表单的按钮或菜单,允许您运行特定操作,而不仅仅是打开表单(执行报告、进行特定计算、自动导入或更新数据等)
  • 一个解决方案/我的建议是为此维护两个表:

    • 表格
    • “操作”表
    以及相应的链接表:

    • “Form_Role”表
    • “Action\u Role”表
    有了这样的配置,您就完全被覆盖了。您甚至可以决定哪个角色有权查看特定表单上的特定报告,只要通过表单上的特定控件或菜单访问相应的操作

    表单和操作表都非常有趣,因为它们都参与到应用程序元模型中


    编辑:顺便说一下,如果您在域上,您可以使用用户的域凭据来控制他/她的系统访问权限。在这种情况下,您不需要在RBAC系统中存储密码。

    我非常感谢您的详细答复。我们还不确定我们的客户希望应用程序有多安全(对于现在和将来来说,简单的权限方法就足够了),但对于进一步的项目来说,这确实是一个好主意。我们的客户也在一个域中工作,所以这也很好,但我不太确定这是否是需要的。但这又是一个好主意,这是我以前没有意识到的。泰!