后台用户角色权限管理设计

本文介绍了后台系统用户角色权限的设计,包括用户管理、角色管理和权限管理的细节。用户管理涉及账号唯一性、超级管理员及用户状态。角色管理是为不同权限的用户组设立。权限管理分为查看权限、功能权限和数据权限。通过RBAC模型,权限被授予角色,用户再被赋予相应角色,实现灵活的权限分配。这种设计提高了系统的管理和维护效率。
摘要由CSDN通过智能技术生成

目录

1、概述

2、设计

2.1 用户管理

2.2 角色管理

2.3 权限管理

2.4 用户、角色、权限的关系

3、总结


1、概述

       在设计产品后台系统设置时,可根据不同项目的实际需求来设计后台系统设置的内容,比如用户角色权限、系统日志、数据统计,任务进程、数据备份等等很多,其中,用户角色权限管理属于整个后台系统设置必不可少的内容,甚至有些业务复杂的产品会为与其对应的后台系统设置单独设计一款独立运行的产品,不过目的都是为了更好的管理各个业务流程步骤中每一位用户的权限,防止用户操作混乱,使流程更清晰、任务更明确。

2、设计

2.1 用户管理

       通俗来说,用户管理直接关系到用户进入该系统的第一步-用户登录,这里有几点我觉得可以作为设计参考:

(1)每一个账号要保证它在系统数据库中的唯一性,所以一般用户在登录页面输入的账号数据都是唯一的;

(2)可以设计超级管理员的概念,当某个用户被设置为超级管理员时,那么他将拥有该系统的所有权限,后面也无需再特意配置权限,一般超级管理员将配置给总经理等一些拥有重要职务的用户。

(3)可以设计用户状态的概念,它指的是用户的两种状态:启用和禁用,默认设置为启用,表示该账号状态正常可用可登录,禁用则表示该账号不可登录,一般禁用的情况是比如公司内某个员工在该系统拥有自己的账号,并且有使用该系统的操作记录,但是现在他不负责这个项目或离职了,这时候,他之前操作过的一些记录都是以他的账号记录在系统日志中,所以最好是不要将该账号删除,将用户状态设置为禁用,就可以限制他以后的登录权限了。

(4)如果新增用户不是由用户本人来操作,而是需要由拥有该系统新增用户权限的用户来操作的话,那么用户密码可以由系统默认设置一个初始密码,告知用户后,用户再去修改个人密码。

2.2 角色管理

       一般每个系统根据用户使用该系统需要的不同权限,都会设置几种不同的角色,它表示具备一定操作权限的用户组。

2.3 权限管理

      权限管理可以被更细致地划分为三种权限:查看权限、功能权限、数据权限。

2.3.1 查看权限:也叫访问权限,主要是表示用户是否拥有该页面的查看功能,所以查看权限是比功能权限和数据权限基础性更强的权限。

2.3.2 功能权限:比如新增、修改、删除、同意、驳回这些都是功能权限,像同意、驳回这些表示审核的按钮,一般只有主管、经理这些用户可以操作,所以需要单独设置功能权限,将功能权限授予给对应需要进行该操作的角色。

2.3.3 数据权限:一般数据权限的使用场景主要是设置给具有上下级关系的部门,比如员工A1、A2、A3均为部门普通员工,A1、A2、A3只能各自查看操作自己创建管理的数据,用户B为部门主管,他不仅能查看操作自己创建的数据,还能够查看操作员工A1、A2、A3创建管理的数据。

图一

2.4 用户、角色、权限的关系

       我们是沿用一种市场主流的RBAC设计模式,它拥有三个重要组成部分,用户、角色、权限,而传统的权限模式的组成部分为用户和权限,RBAC设计模式优于传统模式之处在于它不是生硬的将权限直接授予给具体的用户,而是在用户和权限之间引入角色的概念,将权限授予给角色,然后给用户分配对应它所需权限的角色,这样的设计可以降低维护系统的成本。

图二

用户、角色、权限之间的配置其实是支持多对多的关系的,可参考图三:

(1)一个用户可以拥有一个或多个角色,如用户2有两个角色:角色 A、角色 B;

(2)一个角色可以拥有一个或多个用户,如角色 A有两个用户:用户 1、用户 2;

(3)一个角色可以拥有一个或多个权限,如角色 A有两个权限:权限 1、权限 2;

(4)一个权限可以被授予给一个或多个角色,如权限 3被授予给两个角色:角色 B、角色 C。

图三

3、总结

      此文是结合自己实际项目经验,对后台用户角色权限这部分作了一次小结,整体设计其实只是很基础的部分,以后还要多多积累经验向各位学习,我这里有不足之处的地方,也希望大家多多沟通。

  • 10
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
权限管理角色设计需要考虑以下几个方面: 1. 角色名称:角色名称应该简明扼要地描述该角色的职责和权限,例如“管理员”、“普通用户”等。 2. 角色描述:对该角色的职责和权限进行详细描述,包括该角色可以执行的操作、可以访问的资源、可以修改的数据等。 3. 角色权限:列出该角色具有的权限,例如可以访问哪些功能、可以修改哪些数据、可以创建、更新或删除哪些资源等。 4. 角色状态:标识该角色是否启用或禁用。 5. 创建时间和修改时间:记录该角色的创建时间和最近一次修改时间。 下面是一个简单的权限管理角色设计角色表(role) | 列名 | 数据类型 | 说明 | | ------------- | ------------ | ------------------------------------------------------------ | | id | int | 角色ID,主键 | | name | varchar(50) | 角色名称,唯一 | | description | varchar(255) | 角色描述 | | permissions | varchar(255) | 角色权限,以逗号分隔,例如:read_user,create_user,update_user,delete_user | | status | tinyint | 角色状态,0表示禁用,1表示启用 | | create_time | datetime | 角色创建时间 | | update_time | datetime | 最近一次修改时间 | 在这个设计中,角色表包含了角色的基本信息和权限,可以根据需要扩展其他属性。通过角色表,可以方便地进行权限管理,例如为不同的用户分配不同的角色,控制其可以访问的功能和资源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值