这里是修真院pm小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析pm知识/技能,本篇分享的是:

【关于后台模块的理解。】

1.什么是后台管理

后台指网站或系统用于管理用户数据、网站或系统数据的一部分,一般只允许管理员或特定人员通过后台登录界面进入,对整个网站及系统进行管理,普通用户是没有权限进入的。后台管理主要是用于对网站前台的信息管理,如文字、图片、影音、和其他日常使用文件的发布、更新、删除等操作,同时也包括会员信息、订单信息、访客信息的统计和管理。简单来说就是对网站数据库和文件快速操作的管理系统。设计后台管理主要是方便管理人员对网站的信息、用户数据等进行管理。如果没有后台管理,想要改变前台的内容就需要改动代码,这样就很麻烦且开发成本高,不便于运营维护。

2.账户管理、角色管理的功能说明

账户管理对整个后台的账户体系进行管理,可以进行编辑、删除或增加账户的操作。编辑可以对账户的用户名、密码、角色进行修改。这里的操作是针对的后台所有账户,因此需要注意权限的分配,只有权限高的的账号才有权进行账户管理操作。名词解释:ID,它与账户是一对一的,通过ID可以找到对应的账户;用户名,在后台管理系统中用于登录识别对应的账户,可以使用汉字、字母等组成。账户管理的操作说明:编辑是对账户列表中的账户进行修改,可以更改账户的密码和角色;新增相当于开户,可以手动添加新账户到管理员列表;删除是对某一账户进行删除操作,删除后的账户无法再登录后台管理系统。

需要注意用户管理与账户管理的区别,用户管理主要是对外账户的管理,即前台注册用户,对内部管理员账户没有操作权限,一般就只是修改用户的数据的功能,而后台的账户管理可以对整个后台的账户体系进行操作。

角色管理的编辑就是对角色对应的权限进行更改,删除就直接删除该角色,在创建新账户时就不能再使用这个角色。我们修真院的后台、萝卜多后台的权限都是RBAC形式的,在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。

例如现在公司有20个产品经理,如果每一个账户都去勾选权限就会很麻烦,特别是权限比较多的时候,而我们直接将产品经理的权限设置好后命名为产品经理角色,这时只需要创建账户或编辑账户时选择产品经理角色就可以完成权限的分配,而且如果要调整产品经理的权限,就不再需要去挨个编辑账户,仅需要修改角色对应权限就可以实现对产品经理账户权限的变更。

3.模块管理、密码修改的功能说明

模块管理可以对平台的功能模块进行管理。它能对功能模块进行新增、编辑、删除、分类、移动的操作。名词解释:ID,它与模块是一对一的,通过ID可以找到对应的模块;url,网址,可以是域名也可以是IP地址,在后台模块管理中,它的组成结构为资源类型、存放资源的主机域名、资源文件名;父节点,父结点在数据库管理中的数据模型中,早期阶段的层次模型和网状模型中,一个属性如果有上一级,则称这个上一级是它的父结点,如果没有上一级,则这个属性则无父结点;icon,图标,对模块选项进行装饰;排序,对模块列表中的模块进行排序。模块管理的操作说明:编辑就是对模块url、名称、url、父节点等进行编辑,新增就是添加新的模块,需要对它的属性进行设置;删除就是直接删除该模块。有的模块是一些核心功能,因此模块管理部分也需要注意权限的分配,为了网站的正常运行,必须要特定权限的用户才能进行操作。后台的密码修改仅仅是对当前登录账户的密码进行修改,无法对其他账户密码进行操作,一般是采用验证旧密码来修改密码。

4.账户、角色、权限、模块四者的关系

账户与角色是多对多的关系,一个账户下允许拥有多个角色,一个角色下也可以对应多个账户。比如论坛的admin,它同时具有管理员角色和普通会员的角色,它可以像普通会员角色那样进行发帖回帖,也能够以管理员身份进行禁言。同时,整个论坛肯定不止他一个管理员,因此肯定还有其他账户也是管理员。角色和权限是多对多的关系,一个角色允许拥有多个权限,一个权限也可以分配给多个角色。比如管理员角色拥有增删改查的权限,而增删改查权限也不是管理员所独有的,超级管理员也具有这些权限。角色是权限的载体,也可以理解为 一个角色是某些权限的集合体。因此给账户分配权限时,直接分配角色就完成了对账户权限的分配。账户能访问哪些模块是由它的角色所对应的权限来控制的,比如管理员只能管理后台部分,而超级管理员则可以对网站所有内容进行更改。

5.后台管理设计时需要注意的问题

对角色进行删除时,需要考虑它的关联问题,假如我直接删除了一个角色,那么正在使用该角色的账户怎么办?它的权限分配不就混乱了?

针对这个问题我们可以加入一个逻辑判断来解决这个问题,就是在删除角色前,先判断有没有与之关联的账户,若有关联的账户则提示删除失败,让用户删除关联后再来删除角色。防止出现空壳账户。

权限的维度一般是怎么样的,如果是限定在对某一个模块的细粒度操作控制怎么办?比如说限制只能读,不能编辑,应该怎么设计?

个人认为权限的维度应该是由很小的权限点来组成一个功能的权限,再由几个功能的权限组成一个模块的权限。比如我们萝卜多的后台管理,这里面的新增、编辑、删除就是很小的权限点,由这些小的权限点来组成角色管理功能的权限,再由模块管理功能、角色管理功能、密码修改功能、账户管理功能的权限来组成后台管理模块的权限。限制只能读,不能编辑可以从最小的权限点来考虑,加入只读的权限后,当勾选只读后,禁用新增、编辑、删除的权限。要注意的是需要更高权限的账户来进行编辑。

更多问题

  1. 后台管理模块中menuid是什么?

    这个是前端开发时需要使用的,对于PM来说不用去深入理解。只需要知道模块ID是唯一的就行了。

  2. 后台管理模块中的url有什么用?可以省略吗?

    url不能省略,它决定了访问的资源以及页面的跳转

  3. 前台所有功能都要与后台相对应吗?

    不一定,对于一些单纯展示页面,不需要进行修改编辑的功能不需要做后台

参考文献:人人都是产品经理-后台管理系统,需要注意的三个维度

PPT链接 视频链接

关于后台模块的理解。相关推荐

  1. 关于Autosar中的NM模块的理解

    关于Autosar中的NM模块的理解 本篇文章主要介绍AutoSar中关于NM模块的理解. 阅读本篇文章希望达到的目的: 1. NM(网络管理)是用来做什么的: 2. AutoSar中网络管理的原理: ...

  2. 织梦DedeCMS后台模块管理列表不显示 【终极解决办法】

    织梦系统上传到空间之后,点击"模块管理"里面的"模块列表"显示空白的解决办法 网上很多关于织梦后台模块管理列表不显示的解决办法,但是大多无效,下面这种方法是小菜 ...

  3. douphp快速手动添加后台模块

    douphp 官网链接 http://www.douphp.com/ 后台手动增加模块 1.data/system.php 增加后台模块,使用逗号分隔. 2.新增语言包,根目录下面languages/ ...

  4. php 授权模块,PHP免授权功能模块:智慧农场小程序 1.8.9后台模块前端小程序源码模块插件...

    功能模块:智慧农场小程序 1.8.9后台模块+前端小程序源码 内容介绍: 版本号:1.8.9 – 普通版注意:1.本次更新需要重新上传小程序 2.本次更新内容较多,请注意备份–新增小程序自己添加收货地 ...

  5. 健身房瑜伽馆行业门店 3.1.0 后台模块+前端小程序

    微擎模块 健身房瑜伽馆行业门店 3.1.0 后台模块+前端小程序,优惠券,活动,三级 分销 模块介绍: 主要功能: 课程管理 排课约课 会员管理 教练管理,包括私教 场馆管理 付费视频 优惠券,活动, ...

  6. MVC4做网站后台:模块管理1、修改模块信息

    网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...

  7. ThinkPHP 3.2.3 简单后台模块开发(一)常用配置

    一.项目分组 下载解压 ThinkPHP 3.2.3,在默认的应用 Application(./Application) 中,包含一个默认的模块 Home(./Application/Home). 需 ...

  8. 织梦后台模块管理空白不显示的解决方法

    (此图片来源于网络,如有侵权,请联系删除! ) 那是因为模块管理是优先从织梦官方获取模块列表,当官方服务器出问题那就空白. 我们可以改成从自己本地读取 打开 dede/module_main.php ...

  9. 关于PSINS运动轨迹仿真模块的理解和思考

    文章目录 坐标系定义 飞行轨迹设计 1. 飞行轨迹类型 2. 相关代码 (1) test_SINS_trj.m (2) trjsegement.m (3) trjsimu.m 疑问与思考 本篇博客主要 ...

  10. yolov5中的Focus模块的理解

    序言 v5出来这么久,一直搜不到网上对Focus的理解,还想着白嫖一下结论,但是发现搜出来的都是一知半解,讲的全都是Focus做了什么,愣是没说为什么要这么做.没办法只好自己花点时间深入学习一下,本人 ...

最新文章

  1. 在打印预览模式下使用Chrome的Element Inspector?
  2. linux下kill命令小结
  3. boost::contract模块实现move的测试程序
  4. PHP 学习 一 基础
  5. 你,下周可否“报上有名”?
  6. windows server 2003 出错提示请求的资源在使用中解决方案
  7. 【Spark Summit East 2017】可扩展性机器学习的特征哈希
  8. 编程语言排行分析,从2009到2019。
  9. ROS入门 工程结构
  10. 使用国内源来安装pytorch(速度很快)
  11. java操作SFTP工具类
  12. Django菜鸟入门
  13. 会议论文有影响因子吗_论文投稿——会议论文能否被SCI或EI收录
  14. Py之lime:lime库的简介、安装、使用方法之详细攻略
  15. code flattening —— conversion to R1CS——formulation of QAP
  16. Windows查看及修改tomcat端口
  17. 决战奶酪之巅,剑指Big Cheeze
  18. px4原生源码学习-(1)
  19. 网页页面退出检测- 解决unload onbeforunload不好用
  20. 【GitLab】GitLab数据自动删除、自动备份

热门文章

  1. 【对抗攻击代码实战】对抗样本的生成——FGSM
  2. 智慧家居·万物互联:我的智能花盆DIY之旅(ESP32)
  3. gzdeflate函数_php 压缩函数gzencode gzdeflate gzcompress
  4. log4j配置详解(非常详细)
  5. 宏晶STC单片机使用STC-ISP串口烧录失败的解决方法及实例汇总 (Ver0.99.16)
  6. 读《别闹了,费曼先生》 时的几点想法
  7. 模拟电子技术基础概念
  8. 计算机网络原理(谢希仁第八版)第一章课后习题答案
  9. Unity如何调用安卓手机摄像头实现拍照和录像
  10. 数据挖掘和数据仓库之间的区别