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权限的用户不可见