派对模型和角色,用户,配置文件,组权限方案

时间:2012-11-16 22:14:36

标签: mysql database-design permissions

我有派对模型数据库架构:

Modules
-------------------------------
id, name, description


Modules_fields <--- Relationship witch fields will be in each module
--------------------------------
module_id, field_id


Fields <--- Module_records fields (will define witch table field will user see)
--------------------------------
id, name, type


Module_records <--- Entity child - real records
--------------------------------
id, name, description


Entity <--- Central records table - there stores all real record id's
-------------------------------
id, module_id, module_record_id

我需要的是表关系女巫定义所有可能的权限。如:

  1. 用户可以分组。根据权限 - 它可以查看他的记录,他的组记录或所有记录。可以根据权限查看,编写,编辑或删除。行级权限。

  2. 用户可以拥有角色(或角色)。根据位置 - 可以查看父角色用户记录。行级权限。

  3. 群组有个人资料。这很简单。只需添加Fields-to-GroupProfile表,并设置witch字段即可查看profile子项。列级权限。

  4. 我的想法是设置实体表字段user_id - 它将定义实体创建者用户。之后可以在UserGroups中通过此user_id进行搜索并获取group_id。再创建一个表,为每个模块定义全局权限 - 女巫组/用户将看到模块。但我不喜欢这样的解决方案。

    所以我想添加用户,群组,个人资料和角色:

    Profiles - define witch fields will user see (User has many profiles), columnlevel
    id, name
    
    UsersProfiles - relationships
    user_id, profile_id
    
    Users - just user table
    id, user_group_id
    
    User_UserGroups - relationships
    user_id, user_group_id 
    
    UserGroups - define in witch groups user will be, rowlevel (Salesgroup1, Salesgroup2)
    id, parent_id
    
    UserRoles - relationships
    user_id, role_id
    
    Roles - define user hierarchy (Boss, employee)
    id, parent_id
    
    RolesProfiles - relationships
    role_id, profile_id
    

    也许你有更好的想法?

0 个答案:

没有答案