第六讲 学习shiro ini文件配置的体会(金庭波)

85 篇文章 3 订阅
50 篇文章 0 订阅

        学了一段时间的shiro后,有点明白shiro的思路了,shiro你要把它看成一个权限服务器,你用subject.login(身份)去登录它,这样就进入了securityManager,进入securityManager就意味着进入了shiro服务器;

        但你要使用这个服务器提供的一些API,你必须进入API的入口,  authenticator就相当于是认证API的入口;所以配置文件的[main]标签中常这样写:

[main]
#验证对象的入口
authenticator=org.apache.shiro.authc.pam.ModularRealmAuthenticator 
#验证策略
authenticationStrategy=org.apache.shiro.authc.pam.FirstSuccessfulStrategy 
#验证对象与验证策略的关系
authenticator.authenticationStrategy=$authenticationStrategy 
#shiro验证api入口

securityManager.authenticator=$authenticator

不仅要有验证,而且还要有授权,所以,还要有授权入口,只有通过了授权入口,你才可以使用授权api;所以配置文件中还要加上如下内容:

#authorizer 是授权对象的入口

authorizer=org.apache.shiro.authz.ModularRealmAuthorizer
#权限的表示方式是字符串形
permissionResolver=org.apache.shiro.authz.permission.WildcardPermissionResolver authorizer.permissionResolver=$permissionResolver

securityManager.authorizer=$authorizer

如果是要自定义Realm进行认证,还必须要写Realm,本例以jdbc的Realm为例进行验证的,因为jdbcRealm是shiro的Realm中己经写好了,所以,不需要自己去写代码,只需要在后面加上securityManager.realms=$jdbcRealm 这一句就行了。

#realm 
dataSource=com.alibaba.druid.pool.DruidDataSource 
dataSource.driverClassName=com.mysql.jdbc.Driver 
dataSource.url=jdbc:mysql://localhost:3306/shiro 
dataSource.username=root 
#dataSource.password= 
jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm 
jdbcRealm.dataSource=$dataSource 

jdbcRealm.permissionsLookupEnabled=true 
jdbcRealm.authenticationQuery = SELECT password FROM users WHERE username = ?

securityManager.realms=$jdbcRealm 

把上面的红字部分,全部汇总,罗列在ini文件中,就形成了shiro.ini文件的配置

完毕

金庭波 QQ14280784 2018年3月14日 22:30分于家中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庭博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值