Stage2 核心代码
一、项目结构
二、pom依赖
在<build></build>中插入以下代码,识别指定目录下的xml文件
application.properties配置文件
三、主要代码
1.实体类(bean类)(get、set方法省略,没有截出来)
①Book.java
②Borrow.java
③Sys_User.java(用户类)
④Role.java(角色类)
⑤Permission.java(权限类)
⑥UserRole.java(用户角色类)
⑦RolePermission.java(角色权限类)
2、数据库表
borrow表
sys_users表
sys_roles表
sys_permissions权限表
sys_users_roles用户角色表
sys_roles_permissions
3.mapper层(要加上@mapper注解,要不然程序扫描不到)
①BookMapper.java
BookMapper.xml(部分)
②SysUserMapper.java
Sys_UserMapper.xml(部分)
③RoleMapper.java和PermissionMapper.java还没有具体实现(关于给用户添加角色和权限)
4.service层(加上@Server注解,自动注入spring容器)
①BookServer.java
②Sys_UserService.java(部分)
③Role.java和PermissionService没怎么实现
5.配置分页插件(加上@Configuration注解,用于定义配置类)
6、shiro权限管理(部分代码)
ShiroConfig.java
这两段是解决在Controller中的方法上控制权限生效
设置安全呢管理器
创建Realm
创建Dialect,是Shiro和thymeleaf可以配合使用
创建拦截工厂,设置各种拦截
UserRealm.java(重载两个方法 授权和认证)
授权(主要实现的是为当前登录的用户添加权限和角色)
认证(主要实现的是的登陆的用户名和密码认证)
7.Controller
AdminController.java(主要是用户的用户的管理)部分代码,为每个方法赋予了管理员权限
ManagerController.java(主要是对图书的增删改查)为每个方法赋予了manager权限,listbook也赋予了user权限
findAllBook中对分页进行了具体实现
UserController.java(主要是针对用户的一些方法,目前只有查看个人信息和查询所有图书,借阅和归还暂时还没实现)
LoginController.java(主要是对登录的管理,以及对不同权限的用户登录页面跳转的管理
CommonController.java主要是一些公共页面的处理,欢迎页面等,注册页面还没实现
8.静态资源static,主要使用了bootstrap的一些前端模板,具体代码就不贴出
其中犹豫listbook有两个权限的用户要用(manager图书管理员和user普通用户)所以用shiro对不同权限的用户进行了处理
这些内容只有manager权限的用户才可以看到,user权限的用户不可见