![](https://img-blog.csdnimg.cn/20200211010713294.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Shiro
文章平均质量分 69
Shiro基础
吴声子夜歌
个人学习记录
展开
-
Shiro--集成springboot(二)
创建工程,引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <group...原创 2020-02-10 23:35:51 · 148 阅读 · 0 评论 -
Shiro--集成SpringBoot(一)
创建项目,引入依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-web-starter</artifactId> <version>1.4...原创 2020-02-10 22:47:01 · 353 阅读 · 0 评论 -
Shiro--标签
导入标签库<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> guest标签<shiro:guest> 欢迎游客访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a> </shir...原创 2020-02-10 12:24:06 · 193 阅读 · 0 评论 -
Shiro--过滤器
过滤器介绍下图为Shiro拦截器的基础类图:NameableFilterNameableFilter给Filter起个名字,如果没有设置默认就是FilterName;还记得之前的如authc吗?当我们组装拦截器链时会根据这个名字找到相应的拦截器实例;OncePerRequestFilterOncePerRequestFilter用于防止多次执行Filter的;也就是说一次请求只...原创 2020-02-10 11:44:05 · 291 阅读 · 0 评论 -
Shiro--权限标签、权限注解
Shiro权限标签在使用Shiro标签库前,首先需要在JSP引入shiro标签:<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %><shiro:authenticated/> 登录之后<shiro:notAuthenticated/> 不在登录状态时<shir...原创 2020-02-09 23:05:31 · 400 阅读 · 0 评论 -
Shiro--集成SpringMVC
web.xml添加shiro的过滤器:DelegatingFilterProxy作用是自动到spring容器查找名字为shiroFilter(filter-name)的bean并把所有Filter的操作委托给它。然后将ShiroFilter配置到spring容器即可。<!-- shiro过虑器 --><filter> <filter-name>s...原创 2020-02-09 23:01:53 · 189 阅读 · 0 评论 -
Shiro--Realm访问数据库
Realm中认证和授权数据从数据库获取:表结构用户表:sys_user:角色表:sys_role:中间表:sys_user_role:资源表:sys_resource中间表:sys_role_resource:UserMapper.javapublic interface UserMapper { ...... /** * ...原创 2020-02-09 21:40:06 · 619 阅读 · 0 评论 -
Shiro--集成Spring
pom.xml引入shiro和spring-shiro依赖:<!--用于slf4j与log4j2保持桥接 --><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId>...原创 2020-02-09 20:40:18 · 409 阅读 · 0 评论 -
Shiro--缓存
内存缓存使用内存缓存比较简单,只需要给securityManager设置一个MemoryConstrainedCacheManager即可。 //1.初始化shiro的安全管理器 DefaultSecurityManager securityManager = new DefaultSecurityManager(); //2.设置用户的权限信息到安全管理器...原创 2020-02-09 16:58:50 · 379 阅读 · 0 评论 -
Shiro--密码加密
散列算法散列算法一般用于生成一段文本的摘要信息,将内容可以生成摘要,无法将摘要转成原始内容。散列算法不可逆散列算法常用于对密码进行散列常用的散列算法有 MD5、SHA一般散列算法需要提供一个 salt (盐) 与原始内容生成摘要信息,这样做的目的是为了安全性比如:111111 的 md5值是:96e79218965eb72c92a549dd5a330112,拿着 96e79218...原创 2020-02-09 15:46:58 · 1087 阅读 · 0 评论 -
Shiro--自定义Realm进行认证和授权
创建Maven项目,引入依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12&...原创 2020-02-09 14:59:48 · 572 阅读 · 0 评论 -
Shiro--简单使用
创建Maven项目,添加依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12&...原创 2020-02-09 13:54:27 · 1344 阅读 · 0 评论 -
Shiro--INI配置
根对象SecurityManager从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的;也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Shiro提供了SecurityUtils让我们绑定它为全局的,方便后续操作。因为Shiro的类都是POJO的,因此都很容易放到任何IoC容器管理。但是和一般的IoC容器的区别...原创 2020-02-09 11:44:28 · 338 阅读 · 0 评论 -
Shiro--Permission字符串通配符权限
字符串通配符权限规则:“资源标识符:操作:对象实例ID” 即对哪个资源的哪个实例可以进行什么操作。其默认支持通配符权限字符串,“:”表示资源/操作/实例的分割;“,”表示操作的分割;“*”表示任意资源/操作/实例。1. 单个资源单个权限 :subject().checkPermissions("system:user:update"); 用户拥有资源“system:user”的“upd...原创 2020-02-09 01:29:18 · 2780 阅读 · 0 评论 -
Shiro--授权
授权授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体主体,即访问应用的用户,在Shiro中使用Subject代表该用户。用户只有授权后才允许访问相应的资源。资源在应用中用户可以访问的任何东西,比如访问JSP页面...原创 2020-02-09 01:15:10 · 264 阅读 · 0 评论 -
Shiro--身份验证
身份验证身份验证: 即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals: 身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个pri...原创 2020-02-08 23:40:05 · 279 阅读 · 0 评论 -
Shiro--概述、架构
简介Apache Shiro是Java的一个安全(权限)框架Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境Shiro可以完成:认证、授权、加密、会话管理、与Web继承、缓存等。下载: http://shiro.apache.org/功能简介Authentication: 身份认证/登录,验证用户是不是拥有相应的身份;Au...原创 2020-02-08 18:21:47 · 441 阅读 · 0 评论