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.数据库表

book表

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

---恢复内容结束---

原文地址:https://www.cnblogs.com/wudidd/p/10946158.html