Shiro-登陆流程认证-图解】的更多相关文章

Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro Authentication) Apache shiro集群实现 (四)shiro授权(Authentication)--访问控制 Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案 Apache shiro集群实现 (六)分布式集群系统下的高可用session…
一  将Shirojar包导入web项目 二 在web.xml中配置shiro代理过滤器 注意: 该过滤器需要配置在struts2过滤器之前 <!-- 配置Shiro的代理过滤器 -->  <filter>    <filter-name>shiroFilter</filter-name>    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filte…
权限控制的方式 从类别上分,有两大类: - 认证:你是谁?–识别用户身份. - 授权:你能做什么?–限制用户使用的功能. 权限的控制级别 从控制级别(模型)上分: - URL级别-粗粒度 - 方法级别-细粒度 - 页面级别-自定义标签(显示) - 数据级别-最细化的(数据) URL级别的权限控制-粗粒度 在web.xml中配置一个过滤器filter,在过滤器中,对请求的地址进行解析,字符串截取: url.substring()…把上下文前面的路径都截取掉,剩下user_login.action.…
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在Java领域一般有Spring Security.Apache Shiro等安全框架,但是由于Spring Security过于庞大和复杂,大多数公司会选择Apache Shiro来使用,这篇文章会先介绍一下Apache Shiro,在结合Spring Boot给出使用案例. Apache Shiro What is Apache Shiro?…
经过前面学习 Apache Shiro ,现在结合 Spring Boot 使用在项目里,进行相关配置. 正文 添加依赖 在 pom.xml 文件中添加 shiro-spring 的依赖: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.version}</version…
转载:https://z77z.oschina.io/ 一.引入依赖 shiro-all包含shiro所有的包.shiro-core是核心包.shiro-web是与web整合.shiro-spring是与spring整合.shiro-ehcache是与EHCache整合.shiro-quartz是与任务调度quartz整合等等. <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shir…
Shiro 登录认证源码详解 Apache Shiro 是一个强大且灵活的 Java 开源安全框架,拥有登录认证.授权管理.企业级会话管理和加密等功能,相比 Spring Security 来说要更加的简单. 本文主要介绍 Shiro 的登录认证(Authentication)功能,主要从 Shiro 设计的角度去看这个登录认证的过程. 一.Shiro 总览 首先,我们思考整个认证过程的业务逻辑: 获取用户输入的用户名,密码: 从服务器数据源中获取相应的用户名和密码: 判断密码是否匹配,决定是否…
目录 1. Shro的概念 2. Shiro的简单身份认证实现 3. Shiro与spring对身份认证的实现 前言: Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境.Shiro 可以帮助我们完成:认证.授权.加密.会话管理.与 Web 集成.缓存等.其强大之处有目共睹,但是想要进入Shiro的世界我们必须先要入门,这便是一篇入门级别的Shiro教程博客. 一.Shiro的概念 话说“如果一个人只会写代码,那么他一辈子都是码农”,…
目的: Shiro认证 盐加密工具类 Shiro认证 1.导入pom依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.s…
Shiro的认证流程大体可以参考下面这幅图: 但是没有接触过shiro的同学看到上面的图片也不明白,下面我们来在代码中尝试体验Shiro的认证过程: 1.新建一个SpringBoot项目项目结构如下: ShiroframeApplicationTests代码: package com.shiro.shiroframe; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToke…
Apache Shiro是一个功能强大且易于使用的Java安全框架,它为开发人员提供了一种直观,全面的身份验证,授权,加密和会话管理解决方案.下面是在SpringBoot中使用Shiro进行认证和授权的例子,代码如下: pom.xml 导入SpringBoot和Shiro依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s…
三.SpringBoot整合Shiro思路 首先从客户端发来的所有请求都经过Shiro过滤器,如果用户没有认证的都打回去进行认证,认证成功的,再判断是否具有访问某类资源(公有资源,私有资源)的权限,如果没有权限,访问失败;如果有权限访问成功.注意:客户端传来的token要和realm中的认证信息进行相同规则的比较(加密算法要一致). shiro常见的过滤器 Filter Name Class 功能 anon org.apache.shiro.web.filter.authc.AnonymousF…
什么是Shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单. shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro. Shiro架构: subject:主体,可以是用户也可以是程序,主体要…
首先声明入门看的张开涛大神的<跟我学shiro> 示例:https://github.com/zhangkaitao/shiro-example 博客:http://jinnianshilongnian.iteye.com  (今年是龙年) 现在我们接着上一篇来说, 话说我们现在已经被上一次没有认证过的请求到了登陆界面 这里先给初authc的过滤器(FormAuthenticationFilter)对应的继承关系 被springShiroFilter拦截后来到OncePerRequestFil…
上一篇已经分析了shiro的入口filter是SpringShiroFilter, 那么它的doFilter在哪儿呢? 我们看到它的直接父类AbstractShrioFilter继承了OncePerRequestFilter类,该类是shiro内置的大部分filter的父类(抽像公共部分),在该类中定义了doFilter方法 OncePerRequestFilte public final void doFilter(ServletRequest request, ServletResponse…
授权:也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等). 主体:即访问应用的用户,在Shiro中使用Subject代表该用户.用户只有授权后才允许访问相应的资源. 资源:在应用中用户可以访问的 URL,比如访问 JSP 页面.查看/编辑某些数据.访问某个业务方法.打印文本等等都是资源.用户只要授权后才能访问. 权限:安全策略中的原子授权单位,通过权限我们可以表示在应用中用户有没有操作某个资源的权力.即权限表示在应用中用户能不能访问某个资源. 角色:代表了操作集合,…
新建maven文件create a simple project shiro.ini文件 [users] root=123456 log4j.properties log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.l…
shiro安全框架入门整理 package com.shiro.test; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.realm.SimpleAccountRealm; import org.apache.…
什么是shiro? Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架. 为什么要用shiro? 既然可以基于url实现权限的管理,为什么还要用shiro呢?? 1.shiro将安全认证相关的功能抽取出来组成一个框架,使用shiro就可以非常快速的完成认证.授权等功能的开发,降低系统成本.最主要的就是方便了我们的开发. 2.shiro使用广泛,shiro可以运行在web应用,非web应…
Subject 认证主体 Subject认证主体包含两个信息 Principals : 身份,可以是用户名.邮箱.手机号等,用来标识一个登录主体身份. Credentials : 凭证,常见有密码,数字证书. Realm Realm 意思是域,Shiro 从 Realm 中获取验证数据. Realm 有很多种类,常见的有 jdbc realm , jndi realm , text realm 重点看下jdbc realm的使用. 新建数据库 db_shiro 新建 users 表,表名只能是…
shiro在应用程序中的使用是用Subject为入口的, 最终subject委托给真正的管理者ShiroSecurityMannager Realm是Shiro获得身份认证信息和来源信息的地方(所以这里是我们实现的)我们只要继承他的实现类重写方法就好了,AuthorizingRealm 身份认证过程 自定义realm代码 public class myRealm extends AuthorizingRealm { //realm的名称 @Override public String getNa…
1.简述 1.1    Apache Shiro是Java的一个安全框架.是一个相对简单的框架,主要功能有认证.授权.加密.会话管理.与Web集成.缓存等. 1.2   Shiro不会去维护用户.维护权限:这些需要我们自己去设计/提供:然后通过相应的接口注入给Shiro即可. 2.ssm集成shiro 2.1  pom.xml文件中添加依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId&g…
先来张图: 这是一张shiro的功能图: Authentication: 身份认证/登录,验证用户是否拥有相应的身份 Authorization: 授权/权限验证,验证某个已认证的用户是否拥有某个权限,包括验证用户是否拥有某个角色,或拥有某个操作权限 Session Management: 会话管理,shiro拥有自己的session(不需要web环境下就能使用) Cryptography: 加密 Web Support: web支持,针对web应用提供一些功能 Caching: 缓存 Conc…
身份验证,即在应用中谁能证明他就是他本人.一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明. 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:身份,即主体的标识属性,可以是任何东西,如用户名.邮箱等,唯一即可.一个主体可以有多个principals,但只有一个Primary principals,一般是用户名/密码/手机号. credentials:证明…
Spring Boot Shiro 本示例要内容 基于RBAC,授权.认证 加密.解密 统一异常处理 redis session支持 介绍 Apache Shiro 是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理.借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序(从最小的移动应用程序到最大的Web和企业应用程序). 开始使用 添加依赖 <!-- shiro --> <dependency> <groupId>org.ap…
Shiro认证流程 在学习认证流程之前,你应该先了解Shiro的基本使用流程 认证 身份认证: 证明用户是谁.用户需要提供相关的凭证principals(身份标识)和Credentials (凭证,证明你是这个用户,可以理解成密码) Principals: 用户的属性,可以有多个.但是至少有一个属性能唯一用户 Credentials: 证明信息,密码或者证书之类的 认证流程 token传给Subject.login(Token).在调用login方法时候,内部完成了认证和授权 实际上的认证是由S…
文章目录 认证思路 自定义用于登录检验的Realm的思路 代码实现 后记 认证思路 调用 SecurityUtils.getSubject() 方法,获取当前的 Subject 对象 : 调用 Subject.isAuthenticated() 测试当前的用户,即 Subject 是否以及被认证,即是否登录 : 如果没有被认证,则进行认证操作: 将用户名和密码封装成 UsernamePasswordToken 对象: 自定义 Realm 的方法,从数据库获取对应的记录,返回给 shiro : 如…
1.shiro(权限框架(认证,赋予角色,授权...)): readme.txt(运行机制): 1.从jsp的form中的action属性跳转到springmvc的Handler中(controller) 2.首先获取Subject,因为securityManager在applicationContext.xml中配置过了,所以可以直接 通过Subject currentUser = SecurityUtils.getSubject(); 3.开始认证 首先把账号和密码封装进UsernamePa…
1.LoginController @RequestMapping(method = RequestMethod.POST) public String login(User user, HttpServletRequest request) { try { ubject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(user.getLoginName()…
一.SimpleAccountRealm public class AuthenticationTest {          SimpleAccountRealm sar=new SimpleAccountRealm();          @Before     public void addUser() {         sar.addAccount("mark", "123456","admin","user");…