`

shiro iniRealm和其他Realm一同使用

 
阅读更多

在使用shiro过程中,可以配置多个realm

securityManager.realms=$myRealm1,$iniRealm

但如果一并使用了IniRealm则不能 定义iniRealm,因为系统在使用IniSecurityManager过程中已经自动声明了IniRealm,源码如下

 

protected Realm createRealm(Ini ini) {
        //IniRealm realm = new IniRealm(ini); changed to support SHIRO-322
        IniRealm realm = new IniRealm();
        realm.setName(INI_REALM_NAME);
        realm.setIni(ini); //added for SHIRO-322
        return realm;
    }

 

而INI_REALM_NAME = "iniRealm"

 

所以

myRealm1=chpt2.t4.MyRealm
securityManager.realms=$myRealm1,$iniRealm  #iniRealm不需要像myRealm1一样定义

否则会报,因为自定义的IniRealm没有指明ini文件路径

String msg = "Ini instance and/or resourcePath resulted in null or empty Ini configuration.  Cannot " +
                    "load account data.";
throw new IllegalStateException(msg);

 

0
0
分享到:
评论

相关推荐

    shiro-realm案例

    在配置文件中,我们需要将自定义的Realm注入到Shiro的安全管理器中,这样Shiro在处理用户请求时会使用我们的自定义Realm进行认证和授权。例如,在`shiro.ini`中: ```ini [main] myRealm = ...

    shiro web中自定义Realm

    在Shiro中, Realm是核心组件之一,它是Shiro与应用程序特定的安全数据源之间的桥梁,比如数据库、LDAP目录或者其他任何包含用户信息的地方。 在Web应用中,自定义Realm是为了适配具体的应用场景,因为Shiro的默认...

    shiro权限框架自定义Realm示例

    4. ** 集成自定义Realm**:在应用启动时,Shiro会自动发现并使用配置中的Realm来处理认证和授权请求。确保在应用程序启动后,Shiro能够正确地加载和使用这个自定义Realm。 5. ** 测试和调试**:创建一个测试用例,...

    shiro第六章Realm完整Demo

    在Shiro中,每个Realm都有一个特定的认证和授权机制。 1. ** Realm的认证过程**: - 用户尝试登录时,Shiro会调用Realm的`getPrincipalCredentialsInfo`方法,该方法通常会从数据库或其他数据源中获取用户信息。 ...

    Shiro基本使用详解以及多Realm使用和配置.rar

    Shiro基本使用详解以及多Realm使用和配置,拿来可以直接使用,也可以在此基础上进行自己业务逻辑的添加和修改,如果希望进一步深入学习,可以查看我的博客,可以查看...或给我留言

    Apache_Shiro_使用手册(四)Realm_实现

    4. **返回认证信息**:如果认证成功,`Realm` 将返回一个实现了 `AuthenticationInfo` 接口的对象,其中包含用户的主体信息(Subject)、凭据和其他相关信息。Shiro 会使用这些信息来创建一个 `AuthenticationToken`...

    Spring配置shiro时自定义Realm中属性无法使用注解注入的解决办法

    然而,在实际操作中,可能会遇到一个问题:当我们在自定义的Realm类中使用注解(@Autowired)尝试注入Spring管理的Bean时,这些属性并未被正确注入。本文将详细介绍这个问题的原因及解决方法。 首先,我们需要理解...

    用于测试shiro中自定义Realm的测试代码

    自定义Realm是Shiro的一个重要特性,它允许开发者根据自己的业务逻辑和数据源定制认证和授权过程。 要创建一个自定义Realm,你需要继承`org.apache.shiro.realm.AuthenticatingRealm`或`AuthorizingRealm`类,并...

    shiro demo 实例 jdbcRealm

    shiro demo 源码里面2中realm 一种是jdbcRealm 一种是自定义realm 有sql脚本。请看db文件夹下的readme.txt 有关这个项目的详细介绍,使用了简单的标签库权限控制当做例子

    1.初始shiro框架、简单的shiro框架使用.docx

    在 Shiro 中,身份验证是通过 Realm 实现的,Realm 是 Shiro 的一个核心概念,负责身份验证和授权。 在 Shiro 中,身份验证的过程分为以下步骤: 1. 输入用户名和密码 2. 用户名和密码封装到 token 对象中 3. ...

    尚硅谷Shiro视频教程

    尚硅谷_Shiro_实现认证 Realm · 10.尚硅谷_Shiro_密码的比对 · 11.尚硅谷_Shiro_密码的MD5加密 · 12. 尚硅谷_Shiro_密码的MD5盐值加密 · 13.尚硅谷_Shiro_多 Realm 验证 · 14.尚硅谷_Shiro_认证策略 · ...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    Apache Shiro 是一款功能强大且易于使用的 Java 安全框架,它提供了多种安全相关的功能和服务,包括但不限于认证、授权、加密和会话管理。相较于其他安全框架,Shiro 在设计上更为简洁明了,便于开发者的理解和使用...

    从实例入手学习Shiro自定义Realm实现查询数据进行验证示例代码.zip

    在Shiro中, Realm 是一个接口,它实现了认证和授权的功能。默认的 Realm 类型包括 JdbcRealm、PropertiesRealm 等,但这些可能无法满足所有项目的需求,因此自定义 Realm 是常见的实践。 创建自定义 Realm 的步骤...

    Shiro Realm 权限的验证流程和缓存机制.docx

    Apache Shiro 是一款强大的安全管理框架,它为Java应用程序提供了身份验证、授权和会话管理功能。在Shiro中,Realm是连接应用与安全数据源的关键组件,它负责处理认证和授权。当我们需要自定义权限验证时,通常会...

    shiro和spring整合,使用权限注解

    1. `shiro-config.xml`: Shiro的配置文件,包含了SecurityManager、Realm和其他配置。 2. `spring-config.xml`: Spring的配置文件,用于加载Shiro配置并配置AOP。 3. `Controller.java`: 包含了使用Shiro注解的控制...

    shiro的使用教程

    Shiro的使用教程会涉及其基本概念和架构,包括如何通过Subject与应用程序交互、SecurityManager的核心作用、Realm获取安全数据的方式,以及认证器Authenticator和授权器Authrizer的工作机制。 ### Shiro的基本功能...

    shiro使用简单Demo

    在这个"shiro使用简单Demo"中,我们可以看到作者提供了一个基础的Shiro实现,特别针对URL和注解的权限管理进行演示,这对于初学者来说是一个很好的起点。 首先,我们来看`shiro2.xml`,这是Shiro的配置文件。在该...

    shiro授权 shiro和企业项目整合开发

    Realm 是 Shiro 中的核心组件,它负责与应用程序的特定安全存储(如数据库、LDAP 或其他数据源)进行交互,以获取认证和授权信息。自定义 Realm 可以满足不同项目的实际需求,例如从特定的用户表中加载用户信息和...

    shiro入门学习.ppt

    Shiro内置了多种Realm实现,如JndiLdapRealm(用于LDAP)、JdbcRealm(用于JDBC)、IniRealm(用于INI配置文件)和PropertiesRealm(用于属性文件),同时也支持自定义Realm以适配各种数据源。 总结一下,Shiro的...

    shiro使用的jar包

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等核心功能。在Java项目中,Shiro可以帮助开发者轻松地处理用户的安全需求,从而让开发者可以更加专注于业务逻辑的实现。...

Global site tag (gtag.js) - Google Analytics