Shiro学习 01 helloworld Shiro官网: 怎么学习: 查看doc 使用maven管理jar包 1:创建maven项目 New时候创建maven项目 2:在创建好的maven项目中添加需要的...jar包 2.1:可以访问 http://mvnrepository.com/ 这个网站查询想要的jar 2.2 添加shiro核心jar包 注意:在pom.xml文件中添加依赖的时候先要添加:...3:创建shiro.ini配置文件 在配置文件中设置用户名密码: 4:创建java类 步骤: 1使用工厂来类获取到配置文件中信息,初始化工厂类 代码: 2 使用工厂获取到实例 代码: 3 把实例绑定到
Shiro学习 01 helloworld Shiro官网: 怎么学习: 查看doc 使用maven管理jar包 1:创建maven项目 New时候创建maven项目 2:在创建好的maven项目中添加需要的...jar包 2.1:可以访问 http://mvnrepository.com/ 这个网站查询想要的jar 2.2 添加shiro核心jar包 注意:在pom.xml文件中添加依赖的时候先要添加: 3:创建...shiro.ini配置文件 在配置文件中设置用户名密码: 4:创建java类 步骤: 1使用工厂来类获取到配置文件中信息,初始化工厂类 代码: 2 使用工厂获取到实例 代码: 3 把实例绑定到utils
当我们需要将页面中一些没有权限的标签给隐藏掉的时候,shiro默认提供了对jsp的支持,但是我们有些时候前端模板引擎使用的是freemarker,这时我们就需要专门来设置下了。...引入相关依赖 net.mingsoft shiro-freemarker-tags...标签 cfg.setSharedVariable("shiro", new ShiroTags()); } } 修改配置 ?...#### 使用shiro标签 在需要使用的ftl页面中如下使用 ...用户[]拥有角色role1 更多shiro标签使用参考Shiro教程7(整合SSM项目-授权)
加盐的原理: 给原文加入随机数生成新的MD5的值 shiro中使用MD5加密 认证方法中修改 @Override protected AuthenticationInfo doGetAuthenticationInfo...ini.xml文件修改 [main] #定义凭证匹配器 credentialsMatcher=org.apache.shiro.authc.credential.HashedCredentialsMatcher...SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini
shiro简介 官网 ? Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。...使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 框架图说明 官网架构说明 从外部查看shiro框架 ? ...中的shiro.ini说明 shiro.ini放置在classpath路径下shiro会自动查找。...拦截相关的配置,url=拦截器[参数],拦截器 /index.html = anon /admin/** = authc, roles[admin],perms["permission1"] 第一个案例 官方教程...添加对应的依赖 org.apache.shiro shiro-core <version
hiro简介 shiro官网 ? Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。...使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 框架图说明 官网架构说明 从外部查看shiro框架 ?...Shiro中的shiro.ini说明 shiro.ini放置在classpath路径下shiro会自动查找。...拦截相关的配置,url=拦截器[参数],拦截器 /index.html = anon /admin/** = authc, roles[admin],perms["permission1"] 第一个案例 官方教程...添加对应的依赖 org.apache.shiro shiro-core <version
本文目录: ► 第二章:Shiro身份认证 ► 2.1 身份认证 ► 2.2 环境准备 ► 2.3 登录、退出 下节文章预告 ► 第二章:Shiro身份认证...在Shiro中,用户需要提供principals (身份)和credentials(证明)给 shiro,从而应用能验证用户身份: principals:身份,即主体的标识属性,可以是任何东西,如用户名...环境要求:Maven、IDEA 新建Maven工程,并且导入以下Jar包依赖 (添加 junit、common-logging 及 shiro-core 依赖、log4j、slfj-api等即可):...--Shiro核心包--> org.apache.shiro shiro-core</artifactId...logging log4j.logger.org.apache.shiro=TRACE # Disable verbose logging log4j.logger.org.apache.shiro.util.ThreadContext
本文目录: ► 第五章:Shiro编码加密 ► 5.1 编码、解码 ► 5.2 散列算法 ► 5.3 加密、解密 下节预告 ► 第六章:Shiro之Realm...Shiro 提供了base64 和 16 进制字符串编码、 解码的 API 支持,方便一些编码解码操作。Shiro 内部的一些数据的存储表示都使用了 base64 和 16 进制字符串。...Shiro 还提供了通用的散列支持: String str = "likang"; String salt = "123"; //内部使用MessageDigest String simpleHash...为了方便使用,Shiro 提供了 HashService,默认提供了DefaultHashService 实现。...key.getEncoded()).getBytes()); Assert.assertEquals(text, text2); PasswordService和CredentialsMatcher Shiro
授权的方式 shiro支持三种方式的授权: 代码触发 通过写if/else 授权代码块完成 Subject subject = SecurityUtils.getSubject(); if(subject.hasRole...通过在执行的Java方法上放置相应的注解完成 @RequiresRoles("admin") public void hello() { //有权限 } 标签触发 在JSP/GSP页面通过相应的标签完成 注意本文先讲代码触发,后面两种情况再后面案例中使用讲解。 授权流程图 ? ?...SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini....获取SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini
本文目录: ► 第一章:Shiro入门 ► 1.1 Shiro简介 ► 1.2 Shiro特点 ► 1.3 Shiro组件 ► 1.4...目前,使用Apache Shiro 的人越来越多,相比较Spring Security,Shiro要更轻量级,但是Shiro没有Spring Security做的功能强大,实际工作中可能并不需要那么复杂的功能...1.2 Shiro的特点 Shiro 基于其简单、易理解的特点,不仅可以使用在JavaSE环境中,也可以用在JavaEE环境。...首先,我们从外部来看 Shiro 吧,即从应用程序角度的来观察如何使用 Shiro 完成工作。如下图: ?...从以上也可以看出,Shiro 不提供维护用户 / 权限,而是通过 Realm 让开发人员自己注入。 接下来我们来从 Shiro 内部来看下 Shiro 的架构,如下图所示: ?
授权的方式 shiro支持三种方式的授权: 代码触发 通过写if/else 授权代码块完成 Subject subject = SecurityUtils.getSubject(); if(subject.hasRole...通过在执行的Java方法上放置相应的注解完成 @RequiresRoles("admin") public void hello() { //有权限 } 标签触发 在JSP/GSP 页面通过相应的标签完成 注意本文先讲代码触发,后面两种情况再后面案例中使用讲解。 授权流程图 ? ?...SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini....获取SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini
前景回顾: ► 第一章:Shiro入门(点击即可进入) ► 第二章:Shiro身份认证-上(点击即可进入) ► 第二章:Shiro身份认证-下(点击即可进入) 本文目录: ► 第三章:Shiro授权-...主体(Subject): 即访问应用的用户,在 Shiro 中使用 Subject 代表该用户。用户只有授权后才允许访问相应的资源。...Shiro 支持粗粒度权限(如用户模块的所有权限)和细粒度权限(操作某个用户的权限,即实例级别的)。...— 有权限 —> ?...,Shiro 只是提供相应的接口方便验证。
使用Ehcache来实现缓存 引入jar包 org.apache.shiro shiro-spring 1.2.3 org.apache.shiro shiro-ehcache 1.2.3 net.sf.ehcache...-- 配置缓存管理器 --> <!...shiro授权的源码分析 看HasRole方法 ? ? ?
4.1 SecurityManager根对象 之前章节我们已经接触过一些 INI 配置规则了,如果大家使用过如 Spring 之类的 IOC/DI 容器的话,Shiro 提供的 INI 配置也是非常类似的...从之前的 Shiro 架构图可以看出,Shiro 是从根对象 SecurityManager 进行身份验证和授权的;也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此 Shiro...因为 Shiro 的类都是 POJO 的,因此都很容易放到任何 IOC 容器管理。...但是和一般的 IOC 容器的区别在于,Shiro 从根对象 SecurityManager 开始导航; Shiro 支持的依赖注入: public 空参构造器对象的创建; setter 依赖注入; 1....等价的 INI 配置(shiro-config.ini) [main] ## authenticator authenticator=org.apache.shiro.authc.pam.ModularRealmAuthenticator
本文目录: ► 第三章:Shiro授权-下 ► 3.4 Permission ► 3.5 授权流程 下节预告 ► 第四章:Shiro中Ini配置(预告)...Shiro对权限字符串缺失部分的处理 如“user:view”等价于“user:view:*”; 而“organization”等价于“organization:*”或者“organization:*...Authorizer、PermissionResolver及RolePermissionResolver: Authorizer 的职责是进行授权(访问控制),是 Shiro API 中授权核心的入口点...我们可以通过如下 ini 配置更改 Authorizer 实现: authorizer=org.apache.shiro.authz.ModularRealmAuthorizer securityManager.authorizer...permissionResolver,其会自动设置到相应的 Realm 上(其实现了 PermissionResolverAware 接口),如: permissionResolver=org.apache.shiro.authz.permission.WildcardPermissionResolver
实现多realm认证 在上篇教程的基础上我们来完成此案例shiro教程5(整合SSM项目-认证) 首先MD5和SHA1加密简单实现 SHA1算法 public static void main(String...[] args) { // 算法引入的是 org.apache.shiro.crypto.hash.Sha1Hash // shiro中提供的jar包 // SHA1算法...-- 定义凭证匹配器 --> <!..." id="<em>shiro</em>"> <!
实现多realm认证 在上篇教程的基础上我们来完成此案例shiro教程5(整合SSM项目-认证) 首先MD5和SHA1加密简单实现 SHA1算法 public static void main(...String[] args) { // 算法引入的是 org.apache.shiro.crypto.hash.Sha1Hash // shiro中提供的jar包 // SHA1算法...-- 定义凭证匹配器 --> <!..." id="<em>shiro</em>"> <!
本文目录: ► 第六章:Shiro之Realm高级篇 ► 6.1 Realm ► 6.2 AuthenticationToken ► 6.3 AuthenticationInfo...► 6.4 PrincipalCollection ► 6.5 AuthorizationInfo ► 6.6 Subject 下节预告 ► 第七章:Shiro...void addAll(PrincipalCollection principals);//添加PrincipalCollection void clear();//清空 } 目前 Shiro...Shiro 提供了一个实现 SimpleAuthorizationInfo,大多数时候使用这个即可。...Subject 是 Shiro 的核心对象,基本所有身份验证、授权都是通过 Subject 完成。
通过shiro教程1我们发现仅仅将数据源信息定义在ini文件中与我们实际开发环境有很大不兼容,所以我们希望能够自定义Realm。...SecurityManager工厂对象 Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini...上个教程中我们完整的分析了认证的流程,我们发现在认证的过程核心代码是此: ? 核心方法是doGetAuthenticationInfo(token) 在Realm的结构中 ?
领取专属 10元无门槛券
手把手带您无忧上云