六、若依框架添加用户数据预加载

1、添加用户数据的页面数据预加载

前端对应页面
在这里插入图片描述
前端对应方法:
在这里插入图片描述
这里的reset()方法是表单重置,即将表单内的内容清空。
这里的getUser()方法用于加载其他数据,如岗位、角色等。(通过使用此方法从后台加载出,回填到添加用户的表单)
在这里插入图片描述
在后台找到‘system/user’对应注解下的GetMapper注解,发现对应方法
在这里插入图片描述
 { -->checkUserDataScope()方法是用于检测当前用户是否拥有权限的(只有在没有权限的时候才会抛出语句),代码解读如下:
  在这里插入图片描述
  可以发现此方法中会通过SecurityUtils.getUserId()来获取当前登录的用户id,然后利用isAdmin来判断拿到的id是不是管理员id,若不是管理员角色,则通过selectUserList方法找到该id对应的角色所拥有的权限集合,通过判断该权限集合是否为空来决定是否抛出‘没有权限访问用户数据!’的异常。 --> }
 通过selectRoleAll()方法来获取所有角色的一个集合roles
 其中 ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));这句是strem流的应用(点我),若该id对应着管理员,则将roles中的所有角色赋给ajax.put中的roles;若不对应着管理员,则使用strem流,利用其中的过滤排除管理员的内容再组成新的集合,然后进行赋值操作。(这里就保证了无法给新建的用户创建管理员角色,保证了最高权限)
 再通过selectPostAll()来获取所有岗位的一个集合
 在执行此业务时userId为null,因而不会进入到if (StringUtils.isNotNull(userId))语句中。(这里的userId用于判断当前执行的业务逻辑时进行新增用户还是修改用户,新增则为null,修改则有值)

最后通过ajax返回前端。(至此,进行新增用户的页面准备操作完成)

2、添加用户功能的实现

这里是在学习了权限功能后才能继续开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值