CRM权限管理

CRM权限管理,第1张

  • 权限管理RBAC基本概念

     RBAC是基于角色的访问控制( Role-Based Access Control )在RBAC中,权限与角色相关联,用户通过扮演适当的角色从而得到这些角色的权限。
     这样管理都是层级相互依赖的,权限赋予给角色,角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
     RBAC授权实际上是Who 、 What 、 How三元组之间的关系,也就是Who对What进行How的 *** 作,简单说明就是谁对什么资源做了怎样的 *** 作。
     功能实现上这里划分为三大模块:
     	用户管理、角色管理、资源管理
    
  • 用户管理功能实现

     用户查询 *** 作
     	1.后端代码实现
     		1.UserQuery.java查询类定义
     		2.UserMapper.xml设置SQL查询语句
     		3.UserService.java使用多条件分页查询方法
     		4.UserController.java调用service层中的查询方法并且给予入口
     	2.前端核心代码
     		1.views/user目录下添加user.ftl视图模板
     		2.UserController后台设置对应的接口
     		3.js/user目录下添加user.js文件
     		4.user.ftl添加搜索按钮
     		5.user.js添加搜索点击事件
     用户添加 *** 作
     	1.实现思路
     		1.参数校验 
     			用户名 非空 唯一性 
     			邮箱 非空 
     			手机号 非空 格式合法 
     		2.设置默认参数 
     			isValid 1 
     			creteDate 当前时间 
     			updateDate 当前时间 
     			userPwd 123456 -> md5加密 
     		3.执行添加,判断结果
     	2.核心代码
     		1.UserService.java
     			1.参数校验
     				封装一个checkParams方法判断非空
     			2.设置默认参数 
     				user.setIsValid(1); 
     				user.setCreateDate(new Date()); 
     				user.setUpdateDate(new Date()); 
     				user.setUserPwd(Md5Util.encode("123456"));
     			3.执行添加,判断结果
     				AssertUtil.isTrue(userMapper.insertSelective(user) == null, "用户添加失败!");
     		2.UserController.java
     			调用service层中的添加方法并且给予入口
     			添加视图转发方法
     		3.user.js
     			头部工具栏事件,行监听事件
     		4.views/user目录下添加add_update.ftl模板文件
     		5.js/user目录下添加add.update.js文件,实现表单数据提交 *** 作
     用户更新 *** 作
     	1.实现思路
     		1.参数校验 
     			id 非空 记录必须存在 
     			用户名 非空 唯一性 
     			email 非空 
     			手机号 非空 格式合法 
     		2.设置默认参数 
     			updateDate 
     		3.执行更新,判断结果
     	2.核心代码
     		1.UserService.java
     			1.参数校验
     				通过id查询用户对象 
     					User temp = userMapper.selectByPrimaryKey(user.getId());
     				判断对象是否存在 
     					AssertUtil.isTrue(temp == null, "待更新记录不存在!");
     				封装一个checkParams方法判断非空
     			2.设置默认参数
     				temp.setUpdateDate(new Date());
     			3.执行更新,判断结果
     				AssertUtil.isTrue(userMapper.updateByPrimaryKeySelective(user) < 1, "用户更新 失败!");
     		2.UserController.java
     			调用service层中的更新方法并且给予入口
     			添加视图转发方法
     		3.user.js
     			头部工具栏事件,行监听事件
     		4.views/user目录下添加add_update.ftl模板文件
     		5.js/user目录下添加add.update.js文件,实现表单数据提交操作
     用户删除操作
     	1.后端代码实现
     		1.UserMapper.xml设置SQL删除语句
     			用户数据支持数据批量删除操作,后端接收前端数组参数借助mybatis动态标签foreach实现记录批量删除。
     		2.UserService.java使用删除方法
     		3.UserController.java调用service层中的删除方法并且给予入口
     	2.前端核心代码
     		修改user.js文件,添加删除按钮事件
     用户角色关联
     	1.用户角色查询
     		1.后端代码实现
     			RoleMapper.xml添加查询所有角色的SQL语句
     			RoleMapper.java定义查询角色信息的接口
     			RoleService.java使用查询方法
     			RoleController.java提供方法返回所有角色记录
     		2.前端核心代码
     			user/add_update.ftl在用户的添加和修改页面,设置选择用户角色的下拉框
     			user/add.update.js要引入formSelects模块实现下拉框数据填充操作,而且设置查询角色记录时传入用户id
    

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/877678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存