`
李大宝
  • 浏览: 14631 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shiro-ini配置文件

阅读更多

ini 配置文件

 ini配置文件其实和properties配置文件一样的使用方法,都是键值对的形式(key=value),#号代表注释

ini配置中主要配置有四大类:main,users,roles,urls

[main]
#提供了对根对象 securityManager 及其依赖的配置
securityManager=org.apache.shiro.mgt.DefaultSecurityManager
…………
securityManager.realms=$jdbcRealm
[users]
#提供了对用户/密码及其角色的配置,用户名=密码,角色 1,角色 2
username=password,role1,role2
[roles]
#提供了角色及权限之间关系的配置,角色=权限 1,权限 2
role1=permission1,permission2
[urls]
#用于 web,提供了对 web url 拦截相关的配置,url=拦截器[参数],拦截器
/index.html = anon
/admin/** = authc, roles[admin], perms["permission1"]

 

[main]

main主要配置shiro的一些对象,例如securityManager ,Realm,authenticator,authcStrategy 等等

 

#声明一个realm  
MyRealm1=com.shiro.mutilrealm.MyRealm1
MyRealm2=com.shiro.mutilrealm.MyRealm2

#配置验证器
authenticator = org.apache.shiro.authc.pam.ModularRealmAuthenticator

# AllSuccessfulStrategy 表示 MyRealm1和MyRealm2 认证都通过才算通过
#配置策略
#authcStrategy = org.apache.shiro.authc.pam.AllSuccessfulStrategy
authcStrategy = com.shiro.authenticationstrategy.MyAuthenticationStrategy
#将验证器和策略关联起来
authenticator.authenticationStrategy = $authcStrategy
#配置验证器所使用的Realm
authenticator.realms=$MyRealm2,$MyRealm1

#把Authenticator设置给securityManager
securityManager.authenticator = $authenticator

 

在web应用中,我们可以进行以下配置,表示如果用户没有登录进行访问时,将自动跳转到/login页面

authc.loginUrl=/login

 

[users]

 

[users]允许你配置一组静态的用户,包含用户名,密码,角色,一个用户可以有多个角色,可以配置多个用户,例如

username = password, roleName1, roleName2, …, roleNameN

 

这里涉及到密码,就牵扯到加密的问题,我们可以MD5,Sha1,Sha256等算法进行加密

[main]
#告诉shiro我们用哪个加密算法
sha256Matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher
iniRealm.credentialsMatcher = $sha256Matcher
[users]
#用户名=密码,角色
admin=355b1bbfc96725cdce8f4a2708fda310a80e6d13315aec4e5eed2a75fe8032ce,role1

 

获取密码的 hex 加密字符串

String ss = new Sha256Hash("cc").toHex();

 

[roles]

[roles]将角色和权限关联起来,格式为:角色名=权限字符串1,权限字符串2…..,例如

role1 = printer:print,printer:query

 

[urls]

这部分配置主要在web应用中,格式为:url=拦截器[参数],拦截器[参数]……,例如

 

/login=anon
/unauthorized=anon
/static/**=anon
/authenticated=authc
/role=authc,roles[admin]
/permission=authc,perms["user:create"]

 

解析

  • anon表示匿名访问,即不需要登录就可以访问,例如/login这个路径可以匿名访问
  • authe表示需要登录才能访问
  • roles[admin]表示有admin这个角色的用户才能访问
  • perms[“user:create”]表示有这个权限的才能访问

url通配符

  • ?:匹配一个字符
  • *:匹配零个或多个字符
  • **:匹配零个或多个路径

url匹配顺序是按照你配置的顺序

 

分享到:
评论

相关推荐

    shiro-1.7.1.zip

    4. **shiro-config-ogdl-1.7.1.jar**: OGDL(Open Graph Description Language)配置解析库,Shiro支持用OGDL格式来配置安全策略,这使得配置文件更加简洁和直观。 5. **shiro-spring-1.7.1.jar**: 这是Shiro与...

    shiro-root-1.2.3-source-release zipa包 和相关jar包

    了解和使用这些jar包,开发者可以根据项目需求选择合适的模块,通过配置Shiro的 Ini、XML 或 Java 配置文件,实现安全框架的集成。例如,通过`Realm`类实现与数据库或其他后端服务的交互,自定义身份验证和授权逻辑...

    SpringMVC-Mybatis-Shiro-redis-master

    在这样的集成环境中,"master"分支应该包含了SpringMVC的配置文件(如spring-mvc.xml)、MyBatis的配置文件(mybatis-config.xml和Mapper XML文件)、Shiro的配置文件(shiro.ini或对应的Java配置)以及Redis的配置...

    shiro-all-1.2.3.jar

    2. 配置Shiro:创建Shiro配置文件,如shiro.ini,定义安全规则、过滤器链等。 3. 编写Shiro配置类:在Spring MVC应用中,创建一个配置类,通过@Bean注解声明Shiro的相关组件,如SecurityManager、Realm等。 4. ...

    shiro项目基本运行架包以及全部的架包shiro-all.jar

    - **配置**:理解如何在配置文件中设置Shiro的行为,如`shiro.ini`或Java配置。 在实际使用中,你还需要了解如何将Shiro与Spring、MyBatis等其他框架集成,以实现更复杂的业务需求。 总之,Apache Shiro是一个功能...

    shiro-main.zip

    此外,"shiro-main.zip"可能还包含了配置文件(如shiro.ini或shiro.xml)、示例代码、测试用例等,帮助开发者理解和使用Shiro框架。如果你正在学习或使用Shiro,解压并研究这些文件将有助于深入理解其工作原理和用法...

    shiro-cas-1.2.1.jar

    3. **配置 Shiro**:在 Shiro 配置文件(如 `shiro.ini` 或 `shiro.xml`)中,你需要指定 CAS 服务器的 URL,以及你的应用如何验证服务票证。这包括 CAS 登录 URL、服务验证 URL 和 CAS 出票 URL。 4. **创建 ...

    shiro-root-1.3.2-source-release

    - **配置文件**:Shiro的配置文件(如shiro.ini或XML配置)展示了如何设置安全策略,包括 Realm 配置、过滤器链定义等。 在实际开发中,你可能需要结合这些资源来完成以下任务: 1. **集成Shiro到你的项目**:根据...

    shiro-springmvc-gradle整合

    2. **配置Shiro**:创建一个`shiro.ini`配置文件,定义用户、角色和权限。在Spring MVC应用中,通常会通过`iniRealm`来加载这个配置。 3. **Shiro过滤器**:在`web.xml`或Spring Boot的配置中,设置Shiro的过滤器链...

    shiro-web例子源代码

    在这个例子中,你需要配置Shiro的`shiro.ini`或`shiro.xml`文件,定义角色、权限和用户的映射关系。例如,设置哪些角色可以访问哪些URL,以及用户的认证和授权规则。 6. **过滤器链配置** `web.xml`中需要配置...

    shiro-ehcache

    2. 配置Shiro:在Shiro的配置文件(如`shiro.ini`或XML配置)中,指定使用Ehcache作为缓存管理器。这通常涉及到配置`cacheManager`元素,指定为`ehcache`类型,并指定Ehcache的配置文件位置。 ```ini [main] ...

    shiro-Demo01

    - `src/main/resources`:存放配置文件,如`shiro.ini`、Spring配置文件等。 - `pom.xml`:Maven项目配置文件,列出所需的依赖库,如Shiro、Spring、Spring MVC等。 通过这个示例项目,你可以深入理解Shiro与Spring...

    shiro-springboot.zip

    - `shiro.ini`: Shiro 的配置文件,可以定义默认的安全设置,如登录 URL、登出 URL、拦截规则等。不过,当与 Spring Boot 结合时,更多情况下会选择使用 Java 配置(`ShiroConfig` 类)来替代 ini 配置。 3. `main...

    spring-shiro-demo

    2. **src/main/resources** - 存放配置文件,比如Spring的`applicationContext.xml`或`application.properties`,Shiro的`shiro.ini`或`shiro.xml`,以及数据库连接配置等。 3. **webapp** - 代表Web应用的根目录,...

    shiro所需的全部jar包

    - 配置Shiro:编写`shiro.ini`或在Spring配置文件中配置Shiro的相关设置,如 Realm(认证/授权信息源)、过滤器链等。 - 创建自定义Realm:实现`AuthorizingRealm`接口,覆盖`doGetAuthenticationInfo`和`...

    shiro-realm案例

    在`shiro.web`这个项目中,我们可以看到Web应用的相关配置,可能包括了Spring MVC的Controller、Service和DAO,以及与Shiro相关的配置文件,如`shiro.ini`或`shiro.xml`。 在配置文件中,我们需要将自定义的Realm...

    shiro-demo_DEMO_shiro_shriodemo_shiro框架demo_shiro前后端分离_

    - **配置文件**:如 `shiro.ini` 或 `application.yml`,定义 Realm 设置、过滤器链等。 - **控制器**:处理前端请求,调用 Shiro 进行认证和授权。 - **服务层**:与 Realm 交互,获取和设置用户权限信息。 - **...

    shiro-hello2

    在 `src/main/resources` 下,可能存在一个 `shiro.ini` 或 `shiro.xml` 配置文件,用于定义 Shiro 的配置,包括用户、角色和权限的定义。例如,你可以在这里指定默认的登录页面、未授权页面,或者定义用户的角色和...

    shiro之INI配置详解

    Shiro的INI配置文件通常以.ini结尾,例如shiro-config.ini。INI文件的配置项主要分为两部分:main和Realm。main部分配置SecurityManager的基本信息,而Realm部分配置Realm的信息。 在Shiro的INI配置中,...

    shiro-se例子代码

    例如,在`shiro.ini`配置文件中,你可以定义哪些用户拥有哪些角色,以及角色对应的权限。代码中可能包含`hasRole()`和`isPermitted()`等方法的使用,用于在运行时检查用户权限。 3. **会话管理(Session Management...

Global site tag (gtag.js) - Google Analytics