随笔分类 -  Shiro

1
权限管理
摘要:关于shiro的简介与使用方法在shiro分类中已经使用过了,而且在spring中已经成功的整合了shiro。下面研究springboot+thymeleaf中使用shiro。 spring整合shiro参考:https://www.cnblogs.com/qlqwjy/p/7257502.html 阅读全文
posted @ 2020-03-04 14:34 QiaoZhi 阅读(5094) 评论(0) 推荐(1) 编辑
摘要:shiro-redis开源项目已经很好的将shiro与redis整合到一起,实现了将session存入redis,可以方便的用于session共享实现集群部署。 git地址:https://github.com/alexxiyang/shiro-redis ,文档:http://alexxiyang 阅读全文
posted @ 2019-02-17 19:09 QiaoZhi 阅读(33978) 评论(1) 推荐(4) 编辑
摘要:今天发现一个问题:使用shiro的时候,虽然隐藏掉了一些菜单,但是当我们通过get请求直接访问菜单的时候还是会访问到,也就是shiro可以在界面实现隐藏一些信息,但是没有真正的根据权限码验证请求,于是自己在后台实现验证。 需求:有权限(权限码是systemmanager:settings)的人可以点 阅读全文
posted @ 2018-11-03 23:52 QiaoZhi 阅读(11611) 评论(1) 推荐(0) 编辑
摘要:今天在学习shiro的时候使用另一种shiro验证的方式。 总体的思路是: (1)先在自己的方法中进行身份的验证以及给出提示信息。(前提是将自己的验证方法设为匿名可访问) (2)当验证成功之后到Shiro中认证以及授权一下即可(授权的时候保存用户的权限与角色字符串)。当然,在自己验证成功之后需要向s 阅读全文
posted @ 2018-05-13 19:03 QiaoZhi 阅读(2280) 评论(0) 推荐(0) 编辑
摘要:shiro过虑器 过滤器简称 对应的java类 anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter authcB 阅读全文
posted @ 2017-07-29 22:16 QiaoZhi 阅读(1550) 评论(2) 推荐(0) 编辑
摘要:用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆。 用户身份实现java.io.Serializable接口便于反序列化 配置rememeberMeManager 注入到securityManager 登录页面被添加记住我checkbo 阅读全文
posted @ 2017-07-29 22:11 QiaoZhi 阅读(697) 评论(0) 推荐(0) 编辑
摘要:和shiro整合后,使用shiro的session管理,shiro提供sessionDao操作 会话数据。 配置sessionManager 注入到securityManager 验证码(自定义验证器) 思路 shiro使用FormAuthenticationFilter进行表单认证,验证校验的功能 阅读全文
posted @ 2017-07-29 22:02 QiaoZhi 阅读(1927) 评论(0) 推荐(0) 编辑
摘要:使用缓存,可以解决每次访问请求都查数据库的问题。第一次授权后存入缓存。 缓存流程 shiro中提供了对认证信息和授权信息的缓存。shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。主要研究授权信息缓存,因为授权的数据量大。 用户认证通过。 该 用户第一次授权:调用realm查 阅读全文
posted @ 2017-07-29 21:50 QiaoZhi 阅读(3185) 评论(0) 推荐(0) 编辑
摘要:前提就是在Realm的授权方法中查询出权限并返回List<String>形式 1.applicationContext-shiro.xml配置 解释:访问上面这个需要有item:edit权限。 2.注解方法: 开启controller类aop支持 在springmvc.xml中配置: 在contro 阅读全文
posted @ 2017-07-29 21:40 QiaoZhi 阅读(34806) 评论(5) 推荐(2) 编辑
摘要:使用PermissionsAuthorizationFilter 在applicationContext-shiro.xml中配置url所对应的权限。 测试流程: 1、在applicationContext-shiro.xml中配置filter规则 <!--商品查询需要商品查询权限 --> /ite 阅读全文
posted @ 2017-07-29 21:26 QiaoZhi 阅读(1229) 评论(2) 推荐(0) 编辑
摘要:realm设置完整认证信息 Action中显示认证信息 页面中取出认证信息 MD5认证 数据库中存储到的md5的散列值,在realm中需要设置数据库中的散列值它使用散列算法 及散列次数,让shiro进行散列对比时和原始数据库中的散列值使用的算法 一致。 阅读全文
posted @ 2017-07-29 21:20 QiaoZhi 阅读(746) 评论(0) 推荐(0) 编辑
摘要:原理 使用FormAuthenticationFilter过虑器实现 ,原理如下: 将用户没有认证时,请求loginurl进行认证,用户身份和用户密码提交数据到loginurl FormAuthenticationFilter拦截住取出request中的username和password(两个参数名 阅读全文
posted @ 2017-07-29 21:16 QiaoZhi 阅读(3944) 评论(2) 推荐(2) 编辑
摘要:Jar包 Web.xml中配置shiro的filter spring的配置文件 applicationContext-dao.xml SpringfMVC的配置 springmvc.xml Mybatis的配置 sqlMapConfig.xml Shiro的配置 applicationContext 阅读全文
posted @ 2017-07-29 21:06 QiaoZhi 阅读(7994) 评论(0) 推荐(2) 编辑
摘要:1.授权流程 2. 三种授权方法 <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:Punctuat 阅读全文
posted @ 2017-07-29 10:08 QiaoZhi 阅读(6669) 评论(0) 推荐(1) 编辑
摘要:1.1 散列算法 通常需要对密码 进行散列,常用的有md5、sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得到md5密码对应的明文。 建议对md5进行散列时加salt(盐),进行加密相当 于对原始密码+盐进行散列。(盐就相当于加入一个随机数) 正常使用时散列方法: 在程序中对原始密码+ 阅读全文
posted @ 2017-07-28 21:46 QiaoZhi 阅读(1544) 评论(0) 推荐(1) 编辑
摘要:上一节介绍了realm的作用: realm:需要根据token中的身份信息去查询数据库(入门程序使用ini配置文件),如果查到用户返回认证信息,如果查询不到返回null。token就相当于是对用户输入的用户名和密码的一个封装。下面就是创建一个用户名密码token: Realm结构: 自定义realm 阅读全文
posted @ 2017-07-28 21:00 QiaoZhi 阅读(1204) 评论(0) 推荐(0) 编辑
摘要:1.1 什么是shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不 阅读全文
posted @ 2017-07-28 20:08 QiaoZhi 阅读(843) 评论(0) 推荐(0) 编辑
摘要:思路:先创建一个专门的类ActiveUser用于存储用户登录的信息,主要用于存储用户id,账户,名称,菜单,权限。 认证拦截器主要是查看用户是否已登陆,如果没有转发到登陆界面,用户用账户跟密码登录时候先验证账户密码认证。 如果正确登陆之后进入授权拦截器中,授权拦截器主要查看session域中用户的菜 阅读全文
posted @ 2017-07-28 18:17 QiaoZhi 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:权限管理解决方案 1.1 什么是粗粒度和细粒度权限 粗粒度权限管理,对资源类型的权限管理。资源类型比如:菜单、url连接、用户添加页面、用户信息、类方法、页面中按钮。。 粗粒度权限管理比如:超级管理员可以访问户添加页面、用户信息等全部页面。 部门管理员可以访问用户信息页面包括 页面中所有按钮。 细粒 阅读全文
posted @ 2017-07-27 21:26 QiaoZhi 阅读(1290) 评论(0) 推荐(1) 编辑
摘要:1.1 什么是权限管理 只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 权限管理包括用户认证和授权两部分。 1.2 用户认证 1.2.1 概念 用户认证,用户去访问系统,系统要验证用户身份的合法性。最常 阅读全文
posted @ 2017-07-27 20:45 QiaoZhi 阅读(3868) 评论(0) 推荐(2) 编辑

1