shiro学习笔记】的更多相关文章

Web集成 shiro配置文件shiroini 界面 webxml最关键 Servlet 測试 基于 Basic 的拦截器身份验证 Web集成 大多数情况.web项目都会集成spring.shiro在普通web项目和spring项目中的配置是不一样的.关于spring-shiro集成,能够參考Shiro学习笔记(3)--授权(Authorization) 中的JSP标签授权部分演示样例代码 本次介绍普通的web项目,不使用不论什么框架. shiro配置文件(shiro.ini) 创建web项目.…
博客shiro学习笔记_0400_自定义Realm实现身份认证 介绍了认证,这里介绍授权. 1,仅仅通过配置文件来指定权限不够灵活且不方便.在实际的应用中大多数情况下都是将用户信息,角色信息,权限信息 保存到了数据库中.所以需要从数据库中去获取相关的数据信息.可以使用 shiro 提供的JdbcRealm来实现,,也可以自定义realm来实现.使用jdbcRealm往往也不够灵活.所以在实际应用中大多数情况都是自定义Realm来实现. 2,自定义Realm 需要继承 AuthorizingRea…
Shiro学习笔记总结 内容介绍: 一.Shiro介绍 二.subject认证主体 三.身份认证流程 四.Realm & JDBC reaml介绍 五.Shiro.ini配置介绍 六.源码案例 ,链接数据库测试 Apache Shiro™是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理.使用Shiro易于理解的API,您可以快速,轻松地确保任何应用程序 - 从最小的移 动应用程序到最大的Web和企业应用程序. 一.subject认证主体 subject:认证主体包…
Apache Shiro 是一个安全框架.说白了,就是进行一下 权限校验,判断下这个用户是否登录了,是否有权限去做这件事情. Shiro 可以帮助我们完成:认证.授权.加密.会话管理.与web 集成.缓存等. 其基本功能点 如下图: Authentication  : 身份认证/登录,验证用户是不是拥有相应的身份 Authorization : 授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色,或者 细粒度的验证某个用户对某个…
前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记录的,shiro的文档感觉不是很好,所以结合老师的讲课和文档,感觉条理更清晰些.以便日后查阅 shiro:Shiro是一个基于java的开源的安全管理框架. Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等可用于javase和javaee,还可用于分布式集群环境. 在ja…
这两天由于家里出了点事情,没有准时的进行学习.今天补上之前的笔记 -----没有学不会的技术,只有不停找借口的人 学习到的知识点: 1.Shiro 集成WEB 2.基于角色的权限控制 3.基于权限的控制 工程目录结构 下面先是两个Servlet的内容 1.AdminServlet的内容 package com.zuoyan.shiro.servlet; import java.io.IOException; import javax.servlet.ServletException; impor…
第一种首先基于角色的权限控制 1.由于不断的创建SecurityFactory工程等步骤重复多次,所以应该将这些步骤封装成一个工具类 还是首先看一下目录结构 主要用到文件 首先贴一下工具类的方法 package com.zuoyan.utils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.Us…
 自定义Realm实现身份认证 先来看下Realm的类继承关系: Realm接口有三个方法,最重要的是第三个方法: a) String getName():返回此realm的名字 b) boolean supports(AuthenticationToken token) :好像是说,判断是哪个类型的token c)* AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) throws Authentication…
1. 权限管理 1.1 什么是权限管理? 权限管理实现对用户访问系统的控制,按照安全规则或者安全策略,可以控制用户只能访问自己被授权的资源 权限管理包括用户身份认证和授权两部分,简称认证授权 1.2 什么是身份认证? 身份认证就是判断一个用户是否为合法用户的处理过程,最常用的方式就是通过核对用户输入和用户名和口令是否与系统中存储的一致,来判断用户身份是否正确 1.3 什么是授权? 授权,即访问控制,控制谁能访问哪些资源,主体进行身份认证后需要分配权限方可访问系统资源,对于某些资源没有权限是无法访…
身份验证: 在应用中证明他就是他本人.一般上用身份证.用户/密码 来证明. 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份 Principals: 身份,即主体的标识属性,只要是主体的…
[TOC] 认证流程 st=>start: Start e=>end: End op1=>operation: 构造SecurityManager环境 op2=>operation: Subject.login()提交认证 op3=>operation: SecurityManager.login()执行认证 op4=>operation: Authenticator执行认证 op5=>operation: Realm根据身份获取认证信息 st->op1-&…
版本为1.2.3的shiro API chm个事故文档生成. 获取shiro源代码 编译生成API文档 转换成chm格式 API 获取shiro源代码 shiro官网: http://shiro.apache.org/ 下载源代码资源包,使用myeclipse/eclipse将代码加入工程中.如: 需要使用到的jar包: 编译生成API文档 转换成chm格式 API 下载 javadoc2chm 转换非常简单,安装 javadoc2chm.1.3.1.11.msi 之后,启动,选择index.h…
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40149131 shiro官网:http://shiro.apache.org/ shiro中文手册:http://wenku.baidu.com/link?url=ZnnwOHFP20LTyX5ILKpd_P94hICe9Ga154KLj_3cCDXpJWhw5Evxt7sfr0B5QSZYXOKqG_FtHeD-RwQvI5ozyTBrMAalhH8nfxNzyoOW21K shi…
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39933993 shiro官网:http://shiro.apache.org/ shiro中文手册:http://wenku.baidu.com/link?url=ZnnwOHFP20LTyX5ILKpd_P94hICe9Ga154KLj_3cCDXpJWhw5Evxt7sfr0B5QSZYXOKqG_FtHeD-RwQvI5ozyTBrMAalhH8nfxNzyoOW21K 本文作…
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39519509 shiro官网:http://shiro.apache.org/ shiro中文手册:http://wenku.baidu.com/link?url=ZnnwOHFP20LTyX5ILKpd_P94hICe9Ga154KLj_3cCDXpJWhw5Evxt7sfr0B5QSZYXOKqG_FtHeD-RwQvI5ozyTBrMAalhH8nfxNzyoOW21K 本文作…
1.工程目录 pom文件还和以前设置的一样就是添加了一个数据库驱动, <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- 添加s…
1.首先是导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 1.1  hasrole 标签 <shiro:hasRole name="admin"> 用户[<shiro:principal/>]拥有角色admin<br/> </shiro:hasRole> 1.2 hasPermission标签 &l…
首先还是先搭建工程运行环境  依旧搭建的是Maven工程,如果不是Maven 也可以去网上找jar包然后导入 (我使用Maven主要是找依赖配置文件就行,我自己导jar包的时候就是很容易报错) 还是先上传一张工程目录图 主要的文件就是这两个,一个是配置的,一个是用来进行测试的 jdbc_realm.ini配置文件中的内容如下 [main] jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm dataSource=com.mchange.v2.c3p0.…
首先展示一下项目的结构目录 工程是用maven创建的   主要是方便管理Jar包  maven的  pom文件中所需要的jar包 <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.4</version> </dependency&g…
INI配置 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Shiro提供了SecurityUtils让我们绑定它为全局的,方便后续操作.因为Shiro的类都是POJO的,因此都很容易放到任何IoC容器管理.但是和一般的IoC容器的区别在于,Shiro从根对象securityManager开始导航:Shiro支持的依赖注入:public空参构造器对象的创建.se…
shirio的功能 Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境.Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等.这不就是我们想要的嘛,而且Shiro的API也是非常简单:其基本功能点如下图所示: Authentication:身份认证/登录,验证用户是不是拥有相应的身份: Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的如:验证某个用户是否拥…
一.概念: shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证.权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架. (一)shiro的功能: 1.验证用户. 2.对用户执行访问控制,如: 判断用户是否拥有角色admin,判断用户是否拥有访问的权限. 3.在任何环境下使用Session API.例如CS程序. 4.可以使用多个用户数据源.例如一个是oracle用户库,另外一个是mysql用户库. 5.单点登录(SSO)功能. 6."Re…
版本号为1.2.3的shiro API chm个事故文档生成. 获取shiro源码 编译生成API文档 转换成chm格式 API 获取shiro源码 shiro官网: http://shiro.apache.org/ 下载源码资源包,使用myeclipse/eclipse将代码增加project中.如: 须要使用到的jar包: 编译生成API文档 Created with Raphaël 2.1.2项目Export选择java下的javadoc选择要导出的projectjava doc的配置设置…
本博文所有的代码均为shiro官网(http://shiro.apache.org/)中shiro 1.3.2版本中的源码. 追踪Subject的login(AuthenticationToken token)方法,其调用的为DelegatingSubject类的login方法,DelegatingSubject实现了Subject接口,DelegatingSubject#login如下: public void login(AuthenticationToken token) throws A…
现在最流行的框架就是ssm,学到最后,shiro在实际开发中,也就的整合框架.首先spring是少不了的,shiro也提供了和spring的整合包. 首先,新建maven项目: maven依赖: <!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>4.1.3.RELEASE</spring.version> <my…
1,授权:给身份认证通过的人,授予他可以访问某些资源的权限. 2,权限粒度:分为粗粒度和细粒度. 粗粒度:例如对 user 的 crud,也就是通常所说的对表的操作. 细粒度:对表中记录的操作.如 只允许查询id为1的user的工资.Shiro一般管理的是粗粒度的权限.比如,菜单,按钮,url.一般细粒度的权限是通过业务来控制的. 3,角色:权限的集合. 角色有两个概念: 隐式角色,好像就是说传统的基于角色的访问控制.但是如果想添加或删除一个角色,或者重新定义一个角色的行为,需要修改大量代码,维…
使用shiro框架来完成认证工作,默认是iniRealm,如果需要使用其他的realm,需要配置. ini配置文件详解,官方文档的说明如下: [main] section 是你配置应用程序的 SecurityManager 实例及任何它的依赖组件(如 Realms)的地方. 在[main]里 使用 键/值对 配置对象实例,如 SecurityManager 或任何它的依赖组件,如自定义的realm. 如自定义一个realm,然后注入给SecurityManager: 注:(在SecurityMa…
认证,身份验证,验证用户是否合法 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:用户的身份信息,是subject的标识属性,能够唯一标识subject,如电话号码,电子邮箱,身份证号等. credentials:凭证:密码,是只被subject知道的秘密值.如密码/数字证书等. 最常见的principals和credentials组合就是用户名/密码.shiro中通常使用UsernamePa…
一.权限概述 1.1 认证与授权 认证:系统提供的用于识别用户身份的功能,通常登录功能就是认证功能-----让系统知道你是谁?? 授权:系统授予用户可以访问哪些功能的许可(证书)----让系统知道你能做什么?? 1.2 常见的权限控制方式 [URL拦截权限控制]——底层基于拦截器或者过滤器实现 [方法注解权限控制]——底层基于代理技术实现,为Action创建代理对象,由代理对象进行权限校验 二.apache shiro框架简介 2.1 shiro简介 Apache Shiro(发音为“shee-…
一.概述: 官方对Realm(领域)的描述:https://www.infoq.com/articles/apache-shiro 其功能本质上是一个安全特定的DAO,用于链接数据持久层(任何形式的都可以:数据库.properties文件,xml文件等),获取数据给Shiro使用. 二.数据库的搭建: 创建数据库及表: DROP DATABASE IF EXISTS `apptest`; CREATE DATABASE `apptest` DEFAULT CHARACTER SET utf8 ;…