热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

了解这几点,权限管理其实很简单

本文作者从工作实践出发,结合案例等分享了关于权限设计相关的知识,供大家一同参考和学习设置管理员权限。最近一段时间,我们的系统在做一个新功能,其中涉及到一些与权限相关的功能,之前也接触过权限相关的设计,

本文作者从工作实践出发,结合案例等分享了关于权限设计相关的知识,供大家一同参考和学习设置管理员权限

了解这几点,权限管理其实很简单最近一段时间,我们的系统在做一个新功能,其中涉及到一些与权限相关的功能,之前也接触过权限相关的设计,这篇文章就来对关于权限设计的进行一次总结设置管理员权限。对于各种产品,不管是C端产品或者是B端产品,每个产品当中都有着权限控制,权限管理是系统中的基础模块,在搭建系统的时候,系统架构式就需要将权限搭建完成。好的权限管理,对于后续的系统扩展可以提供极大的兼容性。

一、常见的权限分类1. 登录权限在我们日常使用APP的时候,有时候也会遇到一些权限控制,比如在阿里零售通APP(下图1)的首页,在未登录的情况下,用户只能看到部分商品的价格,只有当我们登录之后才能看到商品的价格设置管理员权限。这种权限控制也比较简单,需要前端开发根据用户当前的登录状态做判断即可,但是这个是针对每个商品的价格,单独配置了是否对未登录用户开放的权限。

了解这几点<strong>设置管理员权限</strong>,权限管理其实很简单

2. 认证权限而有的产品的权限校验会更严格一点,例如京东掌柜宝APP(下图)的首页,即使登录以后也是看不到商品价格的,必须在认证成为店铺的掌柜才能看到商品价格设置管理员权限。而且这个产品里面,是所有的价格都看不到,这种是做了一种全局的配置,无论是哪件商品,只要用户未认证,都是看不到商品价格的。

了解这几点<strong>设置管理员权限</strong>,权限管理其实很简单

3. 会员权限另外还有一些权限,是我必须成为会员才能进行操作的设置管理员权限。例如下图中的QQ音乐会员,当我们是非会员的时候,只能试听其中的片段,页面也会直接提示我们需要开通权限才能播放完整的歌曲。同样还有一些其他的工具类APP也会使用相同的套路,可以先让用户免费试用一段时间,如果想要继续使用的话,就需要付费。有的是基础功能免费,使用全部功能的话,需要付费。这些都是一样的逻辑,前端都需要校验当前登录的用户是否有会员权限。

了解这几点<strong>设置管理员权限</strong>,权限管理其实很简单

4. 菜单权限我们上面说的这些都是一些我们在自己手机APP,即用户端的一些权限校验逻辑,而在我们的管理后管也会经常有其他一些权限,其中最常见的就是菜单权限设置管理员权限。顾名思义,在后台管理的页面,我们经常会有一些菜单,每个菜单上面都有对应的权限,只有满足权限的人才能进行访问。例如下图当中,左边菜单会有不同的菜单,但是不同的人员会赋予不同的权限,所以对于不同的人来说,能够看到的菜单也不一样。

了解这几点,权限管理其实很简单另外在一些移动端的APP上面 ,也会有不同的身份,例如boss直聘上面,可以切换身份,作为求职者和招聘者,不同的身份看到的页面也是不一样的设置管理员权限

5. 操作权限操作权限是指用户进行某个操作的权限设置管理员权限。比如在我们的商品管理里面,商品上架、下架功能的操作需要有专门的人去操作,而查看商品详情的权限则可以放开给更多的人,所以查看商品详情和操作商品上下架的权限就会区分开。

6. 数据权限数据权限,会控制用户访问页面的时候,能有查看到的数据设置管理员权限。这种一般会在公司团队较大的时候会需要有这样的需求区分,如果公司团队人数很少,一般不会有这种需求。当公司人员多的时候,一般会有很多业务部门,每个业务部门会负责不同的业务,根据管理需要,这些业务部门之间的数据有时候会进行需求。

例如我们最近在做的库存分仓库管理,在库存管理的页面,每个仓库的库管员只能看到自己管理的仓库的库存数据,而无法看到其他仓库的库存数据设置管理员权限。这是对于业务部门,但是一个公司里面还会有一些管理部门,这些部门的人员是能够看到所有业务部门的数据的,所以又会需要有一个权限需要能够看到所有部门的业务数据。除了这种的数据权限以外,还有字段的数据权限。

比如在订单列表,有些人没有权限查看订单的收件人信息的字段,包括收件人姓名、电话、地址信息,有些人没有权限查看订单的商品价格信息设置管理员权限。这种数据权限的划分,需要根据公司的管理要求具体来看待,当如果公司需要管理到这么细的颗粒度的时候,再去做,一般的中小企业,正常情况下很少会有这种需求。

二、如何实现权限管理上面大概介绍了在APP和管理后台常见的一些权限,这些权限基本上能够满足我们对于用户权限的控制设置管理员权限。但是如何实现这种权限设计,这篇文章主要介绍上面第4、5、6种后台权限是如何设计的。在我们一般的后台权限设计当中,一般会用到这几个概念:用户、账号、角色、权限

了解这几点,权限管理其实很简单在我们的系统当中,用户都会分配一个账号,这个账号不会与权限直接相关联,而是中间有一个角色在牵线搭桥设置管理员权限。账号、角色和权限都是系统中最底层的概念,也是其他业务逻辑和功能逻辑的基础,在系统的权限管理里面这三者必不可少,下面我们来说说这三者是如何实现权限管理的逻辑的:

1. 权限根据业务需要,我们会向开发人员提出我们的需求,哪些地方需要做权限控制,技术人员会根据我们的需求创建一系列的权限标识,并对某些页面、按钮、数据等等加上对应的权限校验,这样管理人员就有权限可用了设置管理员权限

2. 角色系统的管理人员,一般是超级管理员,他们会根据实际的需要,在系统中创建一个角色,这个角色只是一个概念,然后在这个角色上面加上上面开发人员创建的权限标识设置管理员权限。这样,这个角色就拥有了这个权限。而往往权限和角色之间是多对多的关系:

了解这几点<strong>设置管理员权限</strong>,权限管理其实很简单

3. 账号最后,我们再将创建好的角色,赋予对应的账号,这样这个账号就拥有了这个角色所拥有的权限了,如下图所示设置管理员权限。最终用户在登录他的账号的时候,就拥有了这个账号下面的权限了

了解这几点,权限管理其实很简单这样做的方式是可以灵活配置账号的权限,当当我们新增一个权限,只要我们将这个权限赋予需要这个权限的角色,那么赋予了这个角色的所有账号都可以拥有这个权限了,无需针对每个账号单独开通权限设置管理员权限

扩展当一个组织逐渐扩大以后,权限、角色、用户不断增多,很多时候,利用上面这个逻辑依然能够满足我们的需求,但是对于我们的配置仍然有点麻烦,所以又可以引入组织架构和权限组的概念设置管理员权限

了解这几点,权限管理其实很简单当组织当中不断加入新员工的时候,我们将他的新的账号放到组织架构之下,又将角色按照一定的规则组合后,再关联到组织架构,当用户的账号在这个组织机构之下,有拥有了这个角色组的里面的所有权限,这样,对于新员工,只需要将他放入对应的组织架构即可,而不需要再给他一一配置角色设置管理员权限

以上就是关于权限管理的总结设置管理员权限,感谢您的阅读~

作者:三点半先生;微信公众号:晓言产品(ID:Xiao_PM)一名产品小学生,在这里记录每天工作的工作和学习中关于产品的一些想法设置管理员权限

本文由 @三点半先生 原创发布于人人都是产品经理,未经作者许可,禁止转载设置管理员权限

题图来自Unsplash,基于CC0协议设置管理员权限


推荐阅读
author-avatar
tlgcc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有