基于SSM框架的后台管理系统

该项目源码地址:https://github.com/ggb2312/permission
项目在线地址:http://47.100.54.177:8080/permission/login.html
初始用户:
系统管理员:admin/admin
经理:manager/manager
销售主管:salemanager/salemanager
销售员:saler/saler
临时工:casual/casual

1. 简介

基于SSM框架前后端分离架构的后台管理系统,整合spring + springmvc + shiro + mybatis + esayui。包含许多基础模块(用户管理、角色管理、菜单管理、角色权限管理、用户角色管理、日志管理、数据库监控)。

项目亮点:

  • 基于角色访问控制(RBAC)设计的权限
  • AOP日志系统
  • Shiro后端url鉴权、方法鉴权
  • Excel导入导出示例

2. 项目演示

2.1 登录

使用Md5加密,Shiro权限校验

基于SSM框架的后台管理系统_第1张图片

2.2 用户管理

(1)ajax异步模糊搜索

基于SSM框架的后台管理系统_第2张图片

基于SSM框架的后台管理系统_第3张图片

(2)新增

基于SSM框架的后台管理系统_第4张图片

基于SSM框架的后台管理系统_第5张图片

(3)修改

点击修改

基于SSM框架的后台管理系统_第6张图片

填写修改的信息

基于SSM框架的后台管理系统_第7张图片

(4)删除

选中一行,即可删除

基于SSM框架的后台管理系统_第8张图片

基于SSM框架的后台管理系统_第9张图片

(5)导出excel

支持excel导出

基于SSM框架的后台管理系统_第10张图片

基于SSM框架的后台管理系统_第11张图片

(6)excel导入

支持excel导入,并更新导入信息。
修改excel已存在的数据,并新增一行。

基于SSM框架的后台管理系统_第12张图片

将修改的excel导入系统

基于SSM框架的后台管理系统_第13张图片

基于SSM框架的后台管理系统_第14张图片

基于SSM框架的后台管理系统_第15张图片

2.3 角色管理

与用户管理类似。

基于SSM框架的后台管理系统_第16张图片

2.4 菜单管理

菜单管理对应系统左侧的菜单,不同权限用户看到不同的菜单。

基于SSM框架的后台管理系统_第17张图片

并且支持菜单的添加修改删除,以及菜单详细内容的修改。

基于SSM框架的后台管理系统_第18张图片

基于SSM框架的后台管理系统_第19张图片

2.5 角色权限管理

通过角色控制用户可以看到的菜单。

基于SSM框架的后台管理系统_第20张图片

2.6 用户角色管理

在该页面给用户设置角色,可以是多个角色。

基于SSM框架的后台管理系统_第21张图片

基于SSM框架的后台管理系统_第22张图片

基于SSM框架的后台管理系统_第23张图片

刷新页面,新增的角色生效。

基于SSM框架的后台管理系统_第24张图片

2.7 日志管理

使用aop日志,记录用户的操作。刚才的操作日志,都被记录了下来。

基于SSM框架的后台管理系统_第25张图片

2.8 数据库监控

集成druid的监控页面。

基于SSM框架的后台管理系统_第26张图片

3. 系统权限设计思路

1) 每个用户登陆进去看到的菜单应该取决于他们所拥有的权限,对于不同的用户,他们进入系统后看到的菜单可能是不同的。

2) 如果对每个用户都去设置权限,操作起来是非常繁琐的。实际中很多用户的权限是一样的。我们把这多个权限合起来,给它一个名称叫角色(有的系统称为“用户组”)。这样我们通过角色设置权限,即一个角色可以有多个权限(菜单项),一个权限也可以被多个角色同时拥有。在这种情况下,角色和权限之间就是典型的多对多关联

3) 每个角色包含了很多权限(菜单),那么用户指定为某种角色,即拥有该角色的权限。实际中一个用户可能同时拥有多种角色,而一个角色又包含了很多个用户。那么用户与角色之间又是典型的多对多关系。

4) 一个标准的权限系统包括哪些表呢?刚才我们提到了用户、角色、权限,这就是三张表。用户与角色的关系是多对多,对于多对多关系,我们通常会使用中间表来存储它们的关系。那么对应的角色与权限的关系,也会有中间表。因此,权限系统涉及的表就有5个了。

基于SSM框架的后台管理系统_第27张图片

通过用户对应的角色加载角色对应的菜单。
集成shiro做后端url级别鉴权、方法级别鉴权,甚至方法内的鉴权。由于shiro鉴权每次都要查询数据库,所以使用redis缓存菜单信息。

4. 日志系统设计思路

使用aop环绕通知记录方法的操作。
参考:https://www.cnblogs.com/gj-blog/p/10803600.html

5. 如何运行项目

第一步:启动redis
第二步:导入sql文件
第三步:导入项目,修改db.properties中的数据库账号密码
第四步:启动maven项目

转载于:https://www.cnblogs.com/gj-blog/p/10822217.html

你可能感兴趣的:(基于SSM框架的后台管理系统)