Shiro主配置文件分析

Shiro的全局配置文件采用.INI格式,包括[main]、[users]、[roles]和[urls]四大部分。[main]部分配置类对象和属性,如securityManager。[users]定义用户、密码和角色,[roles]指定角色对应的权限,[urls]则配置URL和过滤器,用于控制访问权限。Shiro内置多种过滤器,如anon、authc、perms等,用于实现不同的安全控制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

INI英文名称(InitializationFile)

INI文件是Window系统配置文件的扩展名.

Shiro的全局配置文件就是.ini文件,ini中数据都是固定数据,后面会用数据库中数据替代下面users和roles(固定数据部分)

.ini文件内容的语法和.properties类似都是key=value,value格式.

INI文件中包含了四个部分:

1、[main] 主体部分.

这部分配置类对象,或设置属性等操作.

内置了根对象:securityManager,注意对象名大小写。

[main]

securityManager.属性=值

key=value

securityManager.对象属性=com.bjsxt.pojo.People  #后面值是字符串

peo=com.bjsxt.pojo.People

securityManager.对象属性=$peo        #出现$时才表示是引用对象

2、[users]

定义用户,密码及用户可以具有的角色。

[users]

用户名=密码,角色1,角色2     #角色部分可以省略.

zhangsan=123

Sxt=123,role1,role2

3、[roles]

定于角色具有的权限

[roles]

角色名=权限名,权限名

role1=user:insert,user:update

role2=insert,update,delete,select

role3=user:*

4、[urls]

定义哪个控制器被哪个过滤器过滤.Shiro内置很多过滤器。此部分主要在WEB应用中使用。

下图是官网上提供的Shiro内置Filter及名称。

anon:不认证也可以访问。例如:/admin/**=anon /login=anon

authc:必须认证。 /**=authc ---所有的资源都认证

authcBasic:没有参数时表示httpBasic认证(客户端认证方式)。

logout:退出。

noSessionCreation:新增Filter,表示没有Session创建。

perms:判断是有具有指定权限。例如:/admin/user/**=perms[“per1”,”per2”]。必须同时具有给定权限才可以访问。如果只有一个权限可以省略双引号。

port:限制端口。例如:/admin/**=port[8081]。只要请求不是8081端口就重新发送URL到8081端口。

rest:请求方式和权限的简便写法。例如:/admin/**=rest[user],相当于/admin/** = perms[user:方式],方式是http请求的方式:post、get等。

roles:判断是否具有指定角色。/admin/**=roles[role1]

ssl:表示是安全的请求。协议为https

user:表示必须存在用户。

[urls]

控制器名称=过滤器名称

/login=authc

/**=anon

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值