【什么是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封装成了认证组件