代码之家  ›  专栏  ›  技术社区  ›  novaztar

如何检索用户权限?(积垢系统)

  •  0
  • novaztar  · 技术社区  · 2 年前

    我找不到任何获得用户权限的好方法

    我使用了多个SQL查询来根据用户的角色获取用户数据,但我不喜欢每次用户点击某个东西时都询问权限的想法。。。但我也不喜欢从SQL获得所有权限并在“会话”中设置所有权限的想法 至少有12列(权限)。我使用4个表,用户,用户角色,角色,最后是权限

    //... 
    $permissions = sqlSelect($conn, '
    SELECT * FROM permissions
    INNER JOIN roles
    ON permissions.role_id = roles.id
    INNER JOIN users_role
    ON permissions.role_id = users_role.role_id
    WHERE users_role.user_id = ?', 'i', $row['id']);
    
    $user_permissions = array();
    
    while ($permission_row = $permissions->fetch_assoc()) {
      unset($permission_row['id_role']);
      $user_permissions[] = $permission_row;
    }
    
    $_SESSION['logged'] = true;
    $_SESSION['user_permissions'] = $user_permissions;
    
    //...
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Archil Dekanosidze    2 年前

    您需要使用session。 首先从mysql中检索权限并将其存储在会话中。 然后使用会话检查权限。
    最后是当用户注销时。清除此会话。