【Shiro】02 shiro.ini文件分析

【什么是INI文件?】

INI 全称:Initialization File

初始文件 Window系统文件扩展名

 Shiro 使用时可以连接数据库,也可以不连接数据库。

当不使用数据库时,需要配置Shiro.ini文件来存储静态数据

【内容组成部分】

一、[main] 定义全局变量

1、内置SecurityManager对象

2、操作内置对象时,在[main]中进行配置

[main]
#属性=值
securityManager.property=value 

myObject = cn.echo42 

#对象属性=值
securityManager.objectProperty=$myObject 

可以类比为XML文件配置的:

<bean id="myObject" class="cn.echo42" />

<bean id="securityManager" >
    <property name="对象属性" value="$myObject"/>    
</bean>

二、[users] 定义账号信息

用户信息:名称、密码、对应角色

[users]

# key表示用户名 value表示密码
admin=123456

# 如果再密码后面追加了信息,则追加的信息表示我们用户具备的多个角色
user=133698,role01,role02

三、[roles] 定义角色信息

即一个角色具备什么样的权限:

[roles]

role01=权限01,权限02,...

role02=权限N1,权限N2, ...

四、[urls] 定义内置Url资源

1、Authc 表示必须认证才允许访问的路径

2、Anno 表示无需认证,随意访问的路径

3、User 表示用户必须登陆才允许方法的路径

4、Logout 表示注销的路径

[urls]

# url地址 = 内置filter & 自定义filter
# 访问时出现/login的url必须去认证,支持authc对应的filter
/login=authc

# 任何的url都不需要认证
/**=anon

# 所有的内容必须保证用户已经登陆
/**=user

# url abc 访问时必须保证用户具有role1和role2角色
/abc=roles["role1,role2"]

其实就是我们在JavaWeb中的一个个过滤器,只是Shiro封装成了认证组件

原文地址:https://www.cnblogs.com/mindzone/p/13414952.html