源码获取:博客首页 “资源” 里下载!
Springboot框架+myBaits-Plus+MySQL实现的角色权限后台管理脚手架系统实战项目,实现的是所有系统最基础的后台管理功能,有了这个脚手架,以后开发别的项目就在这上面快速增加功能即可。本系统主要实现的功能有:菜单管理、角色管理、用户管理、登录、登出,不同的角色分配相应的权限,用户分配不同的角色登录后显示相应被分配的功能。
本系统采用前后端分离的思想设计,后端采用springboot微服务架构,主要包含一个网关服务和一个权限管理服务,开发其他功能可以再创建其他的微服务,前端采用vue+element-UI实现。
1.本系统开发所需的基础环境及版本:
软件
版本
jdk
1.8
MySQL
5.7
maven
3.6.1
nacos
1.1.4
Redis
5.0.10
Node
14.17.3
用户管理控制层:
@Controller
@RequestMapping("/user")
public class UserController extends BaseController{
private String prefix = "system/user/";
@Autowired
IUserService iUserService;
@Autowired
IRoleService iRoleService;
@Autowired
IDeptService iDeptService;
@Autowired
IPositionService iPositionService;
@Autowired
private SysPasswordService passwordService;
/**
*
* @描述 跳转到用户页面
*
* @date 2018/9/16 10:54
*/
@RequestMapping("/tolist")
@RequiresPermissions("user:list")
public String toUserList()
{
return prefix + "user";
}
/**
* @描述 用户数据
* @date 2018/9/15 12:30
*/
@RequestMapping("/tableList")
@ResponseBody
public TableDataInfo list(User user)
{
startPage();
List<User> users = iUserService.selectByUser(user);
return getDataTable(users);
}
/**
* 编辑用户 system/user/edit/20180914-1
*/
@RequiresPermissions("user:update")
@RequestMapping("/edit/{userId}")
public String edit(@PathVariable("userId") String userId, Model model)
{
// 个人信息
User user = iUserService.selectByPrimaryKey(userId);
Map<String, Object> role_post_dept = getRole_Post_Dept();
model.addAttribute("depts", role_post_dept.get("dept"));
model.addAttribute("roles", role_post_dept.get("role"));
model.addAttribute("positions", role_post_dept.get("position"));
model.addAttribute("user", user);
return prefix + "edit";
}
/**
*
* @描述 保存用户
*
* @date 2018/9/15 18:53
*/
@PostMapping("/editSave")
@RequiresPermissions("user:update")
@Operlog(modal = "用户管理", descr = "修改用户信息")
@ResponseBody
public AjaxResult save(User user)
{
if (StringUtils.isNotNull(user.getUid()) && User.isBoss(user.getUid()))
{
return error("不允许修改管理员用户");
}
if(user.getPwd()!=null){
user.setSalt(ShiroUtils.randomSalt());
SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSa