一、用户管理

权限管理子系统中最直接的权限控制对象是用户,我们要控制用户对资源的访问权限

核心业务分析

这里的用户为系统管理员添加的用户,是系统管理员,管理员在添加这个账户,会为账户设置一些基础信息,例如一般会给一个默认密码,第一次登陆以后会提示用户修改初始化密码。

用户列表分页数据查询实现

业务分析

点击用户管理时,基于页码值查询当前页用户数据并进行呈现,本次分页查询依托与分页插件pagehelper进行实现。

服务端设计及实现

创建SysUser类型,基于此类型的对象封装用户信息

public class SysUser extends BaseEntity
{private static final long serialVersionUID = 1L;/** 用户ID */@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")private Long userId;/** 部门ID */@Excel(name = "部门编号", type = Type.IMPORT)private Long deptId;/** 用户账号 */@Excel(name = "登录名称")private String userName;/** 用户昵称 */@Excel(name = "用户名称")private String nickName;/** 用户邮箱 */@Excel(name = "用户邮箱")private String email;/** 手机号码 */@Excel(name = "手机号码")private String phonenumber;/** 用户性别 */@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")private String sex;/** 用户头像 */private String avatar;/** 密码 */private String password;/** 盐加密 */private String salt;/** 帐号状态(0正常 1停用) */@Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")private String status;/** 删除标志(0代表存在 2代表删除) */private String delFlag;/** 最后登录IP */@Excel(name = "最后登录IP", type = Type.EXPORT)private String loginIp;/** 最后登录时间 */@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)private Date loginDate;/** 部门对象 */@Excels({@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),@Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)})private SysDept dept;/** 角色对象 */private List<SysRole> roles;/** 角色组 */private Long[] roleIds;/** 岗位组 */private Long[] postIds;

Dao接口及方法设计

第一步:创建SysUserMapper接口及方法设计,用与实现分页查询,关键代码如下:
@Mapper
public interface SysUserMapper
{/*** 根据条件分页查询用户列表* * @param sysUser 用户信息* @return 用户信息集合信息*/public List<SysUser> selectUserList(SysUser sysUser);
}
第二步:创建SysUserMapper映射文件SysUserMapper.xml并添加分页查询sql映射,关键代码如下:
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user uleft join sys_dept d on u.dept_id = d.dept_idwhere u.del_flag = '0'<if test="userName != null and userName != ''">AND u.user_name like concat('%', #{userName}, '%')</if><if test="status != null and status != ''">AND u.status = #{status}</if><if test="phonenumber != null and phonenumber != ''">AND u.phonenumber like concat('%', #{phonenumber}, '%')</if><if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')</if><if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')</if><if test="deptId != null and deptId != 0">AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))</if><!-- 数据范围过滤 -->${params.dataScope}</select>

Service接口及方式设计

第一步:创建ISysUserService接口并添加用户分页查询方法,关键代码如下:
public interface ISysUserService
{/*** 根据条件分页查询用户列表* * @param user 用户信息* @return 用户信息集合信息*/public List<SysUser> selectUserList(SysUser user);
第二步:创建ISysUserServiceImpl实现类并重写用户分页查询方法,关键代码如下:
@Service
public class SysUserServiceImpl implements ISysUserService
{private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);@Autowiredprivate SysUserMapper userMapper;/*** 根据条件分页查询用户列表* * @param user 用户信息* @return 用户信息集合信息*/@Override@DataScope(deptAlias = "d", userAlias = "u")public List<SysUser> selectUserList(SysUser user){return userMapper.selectUserList(user);}}

Controller类及方法实现

第一步:创建SysUserControlle类并添加处理分页查询请求的方法,继承 BaseController类
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController
{@Autowiredprivate ISysUserService userService;/*** 获取用户列表*/@PreAuthorize("@ss.hasPermi('system:user:list')")@GetMapping("/list")public TableDataInfo list(SysUser user){startPage();List<SysUser> list =userService.selectUserList(user);return getDataTable(list);}
public class BaseController
{protected final Logger logger = LoggerFactory.getLogger(this.getClass());/*** 设置请求分页数据*/protected void startPage(){PageDomain pageDomain = TableSupport.buildPageRequest();Integer pageNum = pageDomain.getPageNum();Integer pageSize = pageDomain.getPageSize();if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());PageHelper.startPage(pageNum, pageSize, orderBy);}}

前端设计及实现

查询用户列表的请求方式以及访问路径

// 查询用户列表
export function listUser(query) {return request({url: '/system/user/list',method: 'get',params: query})
}

若依权限管理系统(用户管理)相关推荐

  1. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  2. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

    文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...

  3. P15-Vue3后台管理系统-用户管理界面-table表格封装

    P15-Vue3后台管理系统-用户管理界面-table表格封装 1.概述 这篇文章继续介绍用户管理界面,在这篇文章中完成table表格封装 2.新建表格组件 2.1.新建CommonTable组件 2 ...

  4. MVC基于角色权限控制--用户管理

    用户管理模块包括 新增用户.修改用户.展示用户列表.删除用户.用户角色分配.用户角色删除.用户权限分配 这里只介绍关于权限有关的 用户角色分配.用户角色删除.用户权限分配 新建控制器 UserInfo ...

  5. Linux基础 权限与用户管理命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r ...

  6. 20_clickhouse,硬件管理与优化(cpu,内存,网络,存储,操作系统配置),profile管理,Quotas设置,约束管理,查询权限,用户管理配置等

    26.运维管理与优化 26.1.硬件管理与优化 26.1.1.CPU 26.1.2.内存 26.1.3.网络 26.1.4.存储 26.2.操作系统的配置 26.2.1.CPU频率调整策略 26.2. ...

  7. linux账号5天锁定,Linux学习之六(Linux用户、权限、用户管理命令)2017-03-31

    一.用户.组.权限 用户:UID,/etc/passwd 组:GID,/etc/group 二.影子口令: 用户:/etc/shadow 组:/etc/gshadow 三.用户类别: 管理员:0 普通 ...

  8. linux用户与权限命令.,Linux基础 权限与用户管理命令

    文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r权限:cat等命令读 w权限:编辑|删除 x权限:执行 目录 r权限:ls ...

  9. javaweb超市管理系统--用户管理

    用户管理 前端分析 DAO层 service层 servlet层 前端分析 还是通过user.do入口访问,方法名为query <li><a href="${pageCon ...

  10. 企业权限管理系统---用户模块

    用户角色权限表关系 使用数据库完成springSecurity用户登录验证 springSecurity的使用步骤: 1.在web工程的pom.xml文件下导入依赖 <!--Spring Sec ...

最新文章

  1. DTD – XML 构建模块概述
  2. SSIS同步多个数据库
  3. c语言如何判断密码不同字符,C语言从文本文档读取字符串(用户名和密码验证)...
  4. python中的一些算法
  5. Win32高级语法 条件测试语句与分支语句
  6. 理论基础 —— 排序 —— 直接选择排序
  7. 将2019拆分成三个整数的平方和
  8. extjs4动态生成多表头
  9. 微型计算机原理及应用是啥,微型计算机原理及应用技术(第3版)
  10. [Mac OS] Mac OS X for x86 下载
  11. python svm参数_python SVM 案例,sklearn.svm.SVC 参数说明
  12. overleaf表格_Latex中插入表格
  13. 蓝蓝设计 使用全屏照片的网页设计欣赏
  14. RS485——RS485通信基础理论与STM32测试
  15. 关于树莓派(四):安装树莓派时遇见的错误
  16. 网站上线要做的事和不该做的事,你知道吗?
  17. codevs1024一塔湖图(丧心病狂的建图)
  18. 03C语言基础-指针
  19. 用shutdown命令实现局域网内远程重启或关闭电脑
  20. 免费https证书申请

热门文章

  1. ubuntu测试网速
  2. 手机页面漂浮广告 html,网站底部漂浮广告电脑手机自适应代码纯CSS
  3. Java高校宿舍管理系统寝室管理(含源码+论文+答辩PPT等)
  4. python display方法_Python display.vvv方法代码示例
  5. JBL CM102 有源监听音箱使用体验
  6. stm32、gd32等芯片固件升级思路
  7. [益智]:有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,
  8. 析因设计方差分析(单独效应,主效应,交互效应)
  9. 百度前端技术学院——DAY2
  10. Linux slab技术