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

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

  • 相关阅读:
    转:一道笔试题-将int型数组强制转换为char*,再求strlen,涉及大小端
    转:git windows中文 乱码问题解决汇总
    git教程1
    刘汝佳黑书 pku等oj题目
    C/C++ qsort()快速排序用法
    char s[]字串和char *s字串有什麼区别?
    c语言‘’ ,‘0’, “0” ,0之间的区别
    带符号的char类型取值范围为什么是-128——127
    c语言memset详解
    【线性规划与网络流24题】孤岛营救问题 分层图
  • 原文地址:https://www.cnblogs.com/wudidd/p/10946158.html
Copyright © 2020-2023  润新知