| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> CmsWing源码分析(6) 用户认证(一) -> 正文阅读 |
|
[JavaScript知识库]CmsWing源码分析(6) 用户认证(一) |
2021SC@SDUSC 结束了上次对用户日志的观察 今天我们来分析auth.js这一文件 文件位置:controller/admin/auth.js ?这次的文件信息量还不小,因此决定分拨分析 目录 规则更新首先进行函数构造与初始化 规则更新就需要涉及更新、删除节点的操作 需要新增的节点将位于nodes内 而需要更新和删除的节点必然需要位于rules内 新增一个节点仅仅需要判定本页面原本没有这个节点 而更新和删除节点的步骤稍稍复杂些 一要将节点的status全部取出 二要根据条件搜索并替换更新某个节点
初始化一个用来保存需要插入和更新的新节点的数据数组 然后处理nodes中的节点: 遍历获取每一个nodes的url、title,保存在临时数组中,并将临时数组得到module一项设为‘admin’ 然后根据这是否是一个子节点的判断结果,对数组的type一项选择性赋值1或2 再对数组的status项全部赋值为1 此时,我们的url可以被计算出来了,就是原本的url加上title加上刚刚得到的type做一个小写转变版的合成 最后将这个url存储在临时数组中
保存需要更新的节点,同时也要保存需要删除的节点的id 像节点方法中做的那样,遍历获取rules中的name、module、type,并小写转换合成为新的变量,命名为kye 如果数据库中的规则与配置的节点匹配,说明是需要更新的节点 此时,为需要更新的节点补充id值 在之前就准备好的update数组中,写入需要更新的节点id值
最后,做一些接收到的错误的处理
用户分组管理首页很熟悉的操作,就和上一次分析的用户日志列表查看异曲同工 先是条件搜索得到list,再将list中的元素一个一个提取出来 最后在标题为“会员管理组”的页面中进行展示
成员管理首先需要得到本页面使用者的ID,即条件为角色id,模型为'auth_user_role'的数据 初始化一个userdata,用于之后保存用户数据 只要获取成功使用者的ID了,就可以对成员的数据搜索,然后传输到userdata中 于是userdata中的数据可以方便操作者进行修改了
管理员用户组数据写入/更新接上文,这里展现的是具体的修改方法 id是需要被获取的参数,用于确保修改的是同一个人的,而不会乱修改 同时,需要确保正在修改的人是管理员而不是哪个人都可以 在成功更新后,对此做出反馈
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:41:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |