ini文件说明
ini(InitializationFile)初始化的配置文件,Window系统文件扩展名。
Shiro使用时可以连接数据库,也可以不连接数据库,如果不连接数据库,可以在shiro.ini中配置静态数据。
shiro.ini文件的组成部分
[main]
:定义全局变量。
-
内置securityManager对象。
-
操作内置对象时,在[main]里面写内容。
[main]
securityManager.属性=值
myobj=com.coydone.shiro
securityManager.对象属性=$myobj
[users]
:定义用户名和密码。
[users]
# 定义用户名为zhangsan 密码为123456
zhangsan=zs
# 定义用户名为lisi 密码为123456 同时具有role1和role2两个角色
lisi=123456,role1,role2
[roles]
:定义角色。
[roles]
role1=权限名1,权限名2
role2=权限名3,权限名4
role3=user:view,uesr:create,user:update,user:delete
[urls]
:定义哪些内置urls生效,在Web应用中使用。
匹配规则:从上向下匹配,如果匹配上了,就不会去匹配下面的。
[urls]
# url地址=内置filter或自定义filter
# 访问时出现 /login 的url必须去认证,支持authc对应的Filter
/login=authc
# 任意的url都不需要进行认证等功能
/**=anon
# 所有的内容都必须保证用户已经登录
/**=user
# url abc 访问时必须保证用户具有role1和role2角色
/abc=roles["role1,role2"]
Shiro中内置的过滤器
过滤器名称 | 过滤器类[org.apache.shiro.web.filter] | 描述 |
---|---|---|
anon | authc.AnonymousFilter | 匿名过滤器 |
authc | authc.FormAuthenticationFilter | 如果继续操作,需要做对应的表单验证否则不能通过 |
authcBasic | authc.BasicHttpAuthenticationFilter | 基本http验证过滤,如果不通过,跳转屋登录页面 |
logout | authc.LogoutFilter | 登录退出过滤器 |
noSessionCreation | session.NoSessionCreationFilter | 没有session创建过滤器 |
perms | authz.PermissionsAuthorizationFilter | 权限过滤器 |
port | authz.PortFilter | 端口过滤器,可以设置是否是指定端口如果不是跳转到登录页面 |
rest | authz.HttpMethodPermissionFilter | http方法过滤器,可以指定如post不能进行访问等 |
roles | authz.RolesAuthorizationFilter | 角色过滤器,判断当前用户是否指定角色 |
ssl | authz.SslFilter | 请求需要通过ssl,如果不是跳转回登录页 |
user | authc.UserFilter | 如果访问一个已知用户,比如记住我功能,走这个过滤器 |
评论区