08_CMDB系统开发二

CMDB系统开发二

一、用户组管理模块

1、展示用户组列表

Django自带了用户表,同时也带了用户组表。他们是多对多关系。用户组模型很简单,和User模型是多对多的关系。用户组顾名思义,就是对用户进行了分组。其作用在权限控制中就是可以批量的对用户的权限许可进行分配,而不用一个一个的按用户分配,节省维护的工作量。

RBAC

①功能实现

路由

视图

使用用户组模型

模板

②添加测试数据

添加用户到用户组

2、创建用户组

添加用户组合之前添加用户方法类似。

路由

视图

模板

展示用户列表

3、更新用户组

更新用户组合更新用户类似,需要额外处理的是,回显用户列表,需要判断用户是否在用户组,如果在处理为下拉框选中状态。

路由

视图

模板

当前用户组 用户选中

更新用户组 发送ajax请求

4、删除用户组

路由

视图

模板

二、权限管理模块

1、Django权限介绍

Django的框架提供了模型级的权限控制, 即可以检查用户是否对某个数据表拥有增(add), 改(change), 删(delete)权限。

Django默认权限模型

from django.contrib.auth.models import Permission

==Django的权限表和用户是多对多关系,同时跟用户组也是多对多关系。==

也就是代表一个用户可以有自己的权限同时也可以有所属组的权限。

Django的权限表,里面有一个==content_type_id==关联的就是==django_content_type==表,所以而django_content_type表中关联了APP和模型。所以这是模型级别的权限控制。

举个例子,我们可以控制某个用户是否具有查看用户列表或者创建用户列表的权限。而无法判断某个用户对某条数据是不是有权限。

当然也可以后期自己去扩展数据权限,但是在当前系统控制在模型权限就足够了。

2、展示权限列表

路由

视图

模板

以上显示的都是系统默认权限,不能够进行增加或者修改。

过滤掉系统的默认权限,自定义权限,并显示出来。

①过滤掉默认的系统权限

发现都是英文的,可以使用正则匹配,把含有英文的过滤掉

regex='[a-zA-Z0-9]'

重写模板类的get_queryset方法

已经显示过滤系统默认权限(英文显示的)

②自定义权限

③迁移数据

显示出自定义权限

3、用户权限设置功能

①用户列表添加权限设置按钮

②显示可设置权限

路由

视图

模板

③设置权限

视图

模板

4、用户组权限设置功能

用户组权限设置和用户权限设置功能基本类似。

5、权限使用

权限限制实现:

①前端限制 页面中不显示功能入口

缺点 可以直接通过url访问

②后端限制 查询数据库是否具有权限

使用导入模块

from django.utils.decorators import method_decorator
from django.contrib.auth.decorators import login_required, permission_required

视图

三、资产机房模块

新建一个resource应用模块,用来进行资产资源的管理。

1、资产机房模型设计

资产机房,就是平常所说的IDC机房。托管主机的地方。

资产机房信息:

机房简称、机房名称、机房地址、机房座机电话、机房负责人姓名、机房负责人邮箱、机房负责人手机号。

①创建模型

②迁移数据

2、展示资产机房列表

路由

视图

模板

添加测试数据,查看效果

3、添加资产机房

路由

视图

模板

在列表页面增加添加按钮

表单

提交请求

4、更新资产机房

路由

视图

模板

更新按钮处理

post数据方法

5、删除资产机房

路由

视图

模板

绑定事件

发送请求

四、资产用户模块

1、资产用户模型设计

==资产用户跟系统用户没关系,资产用户跟主机是有关系的==。每台主机都需要账号密码,资产用户主要是针对主机去关联的。

模型字段:名称、系统用户、系统密码、备注

①创建模型

②迁移数据

2、展示资产用户列表

路由

视图

模板

添加测试数据

展示效果

3、添加资产用户

路由

视图

模板

在列表页面添加创建资产用户按钮

收集数据的表单

通过ajax方法post请求

4、更新资产用户

路由

视图

模板

修改列表页面中更新按钮的链接

数据回显

通过ajax发送修改后的数据

5、删除资产用户

路由

视图

模板

在列表页面绑定事件 通过按钮点击事件 触发删除js方法(发送数据给后端)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286562.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python特性之推导式

文章目录 推导式列表推导式数据的过滤 字典推导式集合推导式 推导式 推导式其实可以理解为简易版的for循环,是Python独有的特性,它能够非常简洁的按照某种规则以一个序列推导出另一个新的序列,也可以理解为是切片的升级 列表推导式 列表的…

vCenter HA拆分和部署

原创作者:运维工程师 谢晋 vCenter HA拆分和部署 拆分vCenter HA部署vCenter HA 拆分vCenter HA 客户vCenter HA内一台虚拟机出现故障无法连接,报错如下: 点击移除集群报错如下: 查找官方KB,按照官方KB进行移除…

Scratch:让少儿编程变得简单有趣

在21世纪这个信息化、数字化的时代,编程已经成为一种重要的技能。然而,对于许多孩子来说,编程可能是一种难以理解和掌握的技能。那么,有没有一种方法,可以让孩子们在轻松愉快的环境中学习编程呢?答案是肯定…

Addressables资源如何进行完整性校验

1)Addressables资源如何进行完整性校验 2)使用SpriteAtlas时出现冗余精灵,如何指定用哪一个图集 3)anim文件进行精度处理后某些信息丢失 这是第365篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了…

Vue--第十天

终极实战----大事件项目 1.简介: 2.创建项目: 1.创建(159-163): 还是对着视频操作吧 2.路由: 3.element Plus: 导入element Plus 后不需要再导入插件配置,就连组件导入也不用 4.pinia构建用…

探讨二维半导体的概念、应用前景及其与传统半导体的差异

当探讨二维半导体时,我们置身于科技革新的前沿。这种材料以其纳米级薄度和独特电学性质区别于传统半导体,引发了科学界的广泛兴趣。本文将深入探讨二维半导体的概念、应用前景及其与传统半导体的差异。 什么是二维半导体? 二维半导体是由单…

Trouble Shooting:ORA-08104

背景:业务人员在rebuild索引期间强制中断了会话,再次rebuild报错 ORA-08104。 有其他会话在使用该索引,并未提交也会造成一样问题。 问题处理: 方法一、 用dbms_repair.online_index_clean来清除创建索引的失败的遗留 注意&…

【EI会议征稿】第三届能源动力与控制工程国际学术会议(EPECE 2024)

第三届能源动力与控制工程国际学术会议(EPECE 2024) The 3rd International Conference on Energy and Power Engineering, Control Engineering (EPECE 2024) 第三届能源动力与控制工程国际学术会议(EPECE 2024)将于2024年2月2…

redis.conf配置bind 127.0.0.1注释,允许远程访问

bind 127.0.0.1这个是绑定了我们的主机地址,意思是只允许我们主机访问redis,这句话注销掉,因为我们需要远程访问

如何解决浏览器提示“SSL协议未开启”?

SSL协议未开启是指服务器中的服务没有开启或者没有SSL模块造成的。 解决方案:打开浏览器,如图所示,找到工具→Internet选项;找到高级选项卡下面的使用 SSL 3.0 勾选之后点击保存即可。 (图片来源于网络,如涉及侵权请告…

ERP真的“烂”吗?为什么有些公司上了ERP效率反而更低?

ERP是由美国Gartner Group咨询公司首先提出的国际上最先进的企业管理模式之一,也是企业信息化集成的最佳解决方案。 ERP到底是什么? ERP的概念 先打个比方。 把ERP理解成手机。 使用通讯类APP和同事、朋友、亲人交流。 使用购物类APP购买生活工作中需…

洛谷 P8794 [蓝桥杯 2022 国 A] 环境治理

文章目录 [蓝桥杯 2022 国 A] 环境治理题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE给点思考 [蓝桥杯 2022 国 A] 环境治理 题目链接 https://www.luogu.com.cn/problem/P8794 题目描述 LQ 国拥有 n n n 个城市,从 0 0 …