当前位置: 首页 > news >正文

企业权限管理(十三)-用户关联角色操作

用户关联角色操作

从前台发送请求

<a href="${pageContext.request.contextPath}/user/findUserByIdAndAllRole.do?id=${user.id}" class="btn bg-olive btn-xs">添加角色</a>

查询用户以及用户可以添加的角色

usercontroller

    //查询用户以及用户可以添加的角色@RequestMapping("/findUserByIdAndAllRole.do")public ModelAndView findUserByIdAndAllRole(@RequestParam(name = "id", required = true) String userid) throws Exception {ModelAndView mv = new ModelAndView();//1.根据用户id查询用户UserInfo userInfo = userService.findById(userid);//2.根据用户id查询可以添加的角色List<Role> otherRoles = userService.findOtherRoles(userid);mv.addObject("user", userInfo);mv.addObject("roleList", otherRoles);mv.setViewName("user-role-add");return mv;}

UserServiceImpl

  @Overridepublic UserInfo findById(String id) throws Exception {return userDao.findById(id);}@Overridepublic List<Role> findOtherRoles(String userid) throws Exception {return userDao.findOtherRoles(userid);}

IUserDao

    @Select("select * from users where id=#{id}")@Results({@Result(id = true, property = "id", column = "id"),@Result(property = "username", column = "username"),@Result(property = "email", column = "email"),@Result(property = "password", column = "password"),@Result(property = "phoneNum", column = "phoneNum"),@Result(property = "status", column = "status"),@Result(property = "roles",column = "id",javaType = java.util.List.class,many = @Many(select = "com.itheima.ssm.dao.IRoleDao.findRoleByUserId"))})UserInfo findById(String id) throws Exception;@Select("select * from role where id not in (select roleId from users_role where userId=#{userId})")List<Role> findOtherRoles(String userId) throws Exception;//@Param 有两个int参数mybaties不知道怎末匹配@Insert("insert into users_role(userId,roleId) values(#{userId},#{roleId})")

给用户添加角色

usercontroller

//给用户添加角色@RequestMapping("/addRoleToUser.do")public String addRoleToUser(@RequestParam(name = "userId", required = true) String userId, @RequestParam(name = "ids", required = true) String[] roleIds) throws Exception{userService.addRoleToUser(userId, roleIds);return "redirect:findAll.do";}

UserServiceImpl

    @Overridepublic void addRoleToUser(String userId, String[] roleIds) throws Exception {for(String roleId:roleIds){userDao.addRoleToUser(userId,roleId);}}

IUserDao

 //@Param 有两个int参数mybaties不知道怎末匹配@Insert("insert into users_role(userId,roleId) values(#{userId},#{roleId})")void addRoleToUser(@Param("userId") String userId,@Param("roleId") String roleId) throws Exception;
}

 

http://www.lryc.cn/news/125936.html

相关文章:

  • 深入理解Vue 3.0x中的Suspense和异步组件
  • Ajax 笔记(三)—— Ajax 原理
  • el-tree通过default-expand-all动态控制展开/折叠
  • 基于Bsdiff差分算法的汽车OTA升级技术研究(学习)
  • 如何使用CSS实现一个纯CSS的滚动条样式?
  • 使用维纳过滤器消除驾驶舱噪音(Matlab代码实现)
  • vue所有UI库通用)tree-select 下拉多选(设置 maxTagPlaceholder 隐藏 tag 时显示的内容,支持鼠标悬浮展示更多
  • 进行 200 瓦太阳能 (PV) 模块设计以测量太阳能光伏阵列的电压、电流和功率、综合负荷频率和电压控制系统的方法研究(Simulink实现)
  • 实战:工作中对并发问题的处理 | 京东物流技术团队
  • 解决VSCode CPU高占问题的方法
  • tensorflow 1.x和3090、cuda部署
  • vue-photo-preview( 照片预览功能 )
  • Angular 独立组件入门
  • Lie group 专题:Lie 群
  • Vue-打印组件页面
  • Python爬虫——scrapy_基本使用
  • 30 | 中国高校数据分析
  • 开源低代码平台Openblocks
  • 每日汇评:黄金在 200 日移动平均线附近似乎很脆弱,关注美国零售销售
  • DFT笔记 DC/AC mode与Func
  • docker核心操作
  • 《电路》基础知识入门学习笔记
  • 什么是P2P?
  • matlab RANSAC拟合多项式曲线
  • 微信小程序nfc指令异常记录
  • 10 - 把间隔的几个commit整理成1个
  • 关于 Eclipse 的一场 “三角关系”
  • koa 使用 Mongoose 查询数据
  • 前后端分离------后端创建笔记(10)用户修改
  • K8S系列文章之 Docker安装使用Kafka