Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统

Shiro细颗粒授权控制

  1. 我们前面做的权限控制都是建立在对URL的访问控制,我们把它称之为粗颗粒的访问控制。
  2. 我们还可以使用shiro的细颗粒授权控制。
  3. 细颗粒授权控制包括:方法级别 与 代码级别

一.方法级别控制

  对某个方法加访问控制,用户必须拥有某项权限才可以访问该方法,没有权限则抛出异常,无法访问。

  1. 开启注解
    在applicationContext_shiro.xml中添加
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第1张图片
  2. 修改OrdersBiz和OrderdetailBiz,在其方法添加注解
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第2张图片
    如果访问了未授权的方法,则会报如下错误:

二.代码级别控制

  1. 代码级别控制:指的是在代码中加入权限控制
  2. 我们的采购订单申请和销售订单录入,都会调用OrdersBiz的add方法。这样只要用户具有其中一个权限,就可以执行另一个功能了。这样是很恐怖的!
  3. 那可怎么办呢?我们可以把控制粒度放在更细的层面上,也就是代码级别访问控制
  4. 修改OrdersBiz的add方法,方法一开始就加入以下代码:
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第3张图片

Redis提升软件性能

一.需求分析

  1. 我们在添加shiro框架后,每次执行功能都会调用授权方法,而每次调用都会执行很多查询,这样会影响效率。怎么提升程序性能呢?我们可以考虑使用缓存数据库来实现。

二.Redis简介

  1. Redis是一个高性能的key-value缓存系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起来很好的补充作用。它提供了Java, C++, C#, PHP, JavaScript, Perl, Object-C, pathon, Ruby, Erlang等客户端,使用很方便。

三.Redis入门

  1. 安装
    Windows下无须安装,解压后即可使用
  2. 启动服务
    双击redis-server.exe即可启动服务
  3. 连接Redis
    进入到reids-server.exe的路径下,在Dos提示符下输入命令,即可连接本地的Redis
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第4张图片
    如果是连接远程的Redis,则输入如下命令
  4. 常用命令
    Set 键值:存值
    Get 键:取值
    Del 键:删除值

四.Jedis入门

Jedis是Redis官方首先的Java客户端开发包,我们接下来做一个Jedis的入门程序

  1. 新建Maven工程,引入依赖
  2. 代码实现 存值
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第5张图片
  3. 代码实现 取值
  4. 代码实现 删值

五.ERP整合Jedis实现菜单缓存

  1. 添加Jedis依赖。在erp_parent的pom中添加
  2. 创建applicationContext_jedis.xml文件
  3. 修改EmpBiz,引入Jedis并使用
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第6张图片
  4. 修改applicationContext_biz.xml,注入jedis到EmpBiz中
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第7张图片

六.更改用户角色后清除缓存

  1. 修改
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第8张图片

七.更改角色权限后清除缓存

  1. 修改角色实体类Role,添加对应用户属性
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第9张图片
  2. 配置映射文件
  3. 修改RoleBiz
    引入Jedis
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第10张图片
    修改updateRoleMenu方法,在后边加入以下代码
    Day82 Java框架 SSH案例_ERP(十四)_Redis缓存系统_第11张图片

SVN在项目中的应用

一.SVN插件的安装

二.设置排除文件的类型

三.SVN服务端安装配置

四.客户端连接

五.将Maven工程代码提交到SVN

六.从SVN中下载工程代码

七.SVN冲突解决

八.Maven多模块工程提交SVN

九.从SVN中下载多模块工程

你可能感兴趣的:(实践项目)