Shiro细颗粒授权控制
- 我们前面做的权限控制都是建立在对URL的访问控制,我们把它称之为粗颗粒的访问控制。
- 我们还可以使用shiro的细颗粒授权控制。
- 细颗粒授权控制包括:方法级别 与 代码级别
一.方法级别控制
对某个方法加访问控制,用户必须拥有某项权限才可以访问该方法,没有权限则抛出异常,无法访问。
- 开启注解
在applicationContext_shiro.xml中添加 - 修改OrdersBiz和OrderdetailBiz,在其方法添加注解
如果访问了未授权的方法,则会报如下错误:
二.代码级别控制
- 代码级别控制:指的是在代码中加入权限控制
- 我们的采购订单申请和销售订单录入,都会调用OrdersBiz的add方法。这样只要用户具有其中一个权限,就可以执行另一个功能了。这样是很恐怖的!
- 那可怎么办呢?我们可以把控制粒度放在更细的层面上,也就是代码级别访问控制
- 修改OrdersBiz的add方法,方法一开始就加入以下代码:
Redis提升软件性能
一.需求分析
- 我们在添加shiro框架后,每次执行功能都会调用授权方法,而每次调用都会执行很多查询,这样会影响效率。怎么提升程序性能呢?我们可以考虑使用缓存数据库来实现。
二.Redis简介
- Redis是一个高性能的key-value缓存系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起来很好的补充作用。它提供了Java, C++, C#, PHP, JavaScript, Perl, Object-C, pathon, Ruby, Erlang等客户端,使用很方便。
三.Redis入门
- 安装
Windows下无须安装,解压后即可使用 - 启动服务
双击redis-server.exe即可启动服务 - 连接Redis
进入到reids-server.exe的路径下,在Dos提示符下输入命令,即可连接本地的Redis
如果是连接远程的Redis,则输入如下命令 - 常用命令
Set 键值:存值
Get 键:取值
Del 键:删除值
四.Jedis入门
Jedis是Redis官方首先的Java客户端开发包,我们接下来做一个Jedis的入门程序
- 新建Maven工程,引入依赖
- 代码实现 存值
- 代码实现 取值
- 代码实现 删值
五.ERP整合Jedis实现菜单缓存
- 添加Jedis依赖。在erp_parent的pom中添加
- 创建applicationContext_jedis.xml文件
- 修改EmpBiz,引入Jedis并使用
- 修改applicationContext_biz.xml,注入jedis到EmpBiz中
六.更改用户角色后清除缓存
- 修改
七.更改角色权限后清除缓存
- 修改角色实体类Role,添加对应用户属性
- 配置映射文件
- 修改RoleBiz
引入Jedis
修改updateRoleMenu方法,在后边加入以下代码
SVN在项目中的应用
一.SVN插件的安装
二.设置排除文件的类型
三.SVN服务端安装配置
四.客户端连接
五.将Maven工程代码提交到SVN
六.从SVN中下载工程代码
七.SVN冲突解决
八.Maven多模块工程提交SVN
九.从SVN中下载多模块工程