【问题标题】:Is that a bad design for access control database?这是访问控制数据库的糟糕设计吗?
【发布时间】:2015-04-22 12:32:58
【问题描述】:

我是一个简单的 PHP 和 codeigniter 系统,需要一种简单但更好的方法来管理用户及其对系统的访问。因此,经过一番搜索,我发现了有关访问控制的有趣主题,但我仍然怀疑这是否是一个好方法。

角色和用户权限表是因为某些用户应该具有未由任何角色定义的不同访问权限。并且 user_permission 将始终优先于 role_permission。例如,用户具有有权访问用户排除的角色,但管理员创建了 user_perm 拒绝用户排除,因此该特定用户将无法删除用户。

任何帮助将不胜感激。

创建表用户 ( id 主键, 用户名, 密码, 角色标识, 名, 姓, ... ); CREATE TABLE 角色 ( id 主键, 姓名 ); 创建表操作 ( id 主键, 姓名, ); 创建表角色权限 ( id 主键, action_id, 权限布尔值 ); 创建表用户权限 ( id 序列号 NOT NULL PRIMARY KEY, action_id, 权限布尔值 );

【问题讨论】:

    标签: sql database-design access-control role-based-access-control


    【解决方案1】:

    您忘记了角色-id 与多个用户-id 之间的关系表......所以每个用户都将拥有一个角色,并且基于该角色他将获得权限.. 否则您可以添加一个字段 role_id到用户表..

    【讨论】:

    • 已更改,role_id 现在在用户表上。
    • 好的。。我想其余的都很好...在执行特定操作期间如何实施和检查每个用户...
    猜你喜欢
    • 2012-09-06
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多