SpringBoot:集成Shiro之INI配置篇(转载)

前言


SpringBoot:集成Shiro之INI认证篇SpringBoot:集成Shiro之INI授权篇 两篇需要使用到INI文件,这一篇文章是用来简单阐述以下INI的的编写格式以及组成模块.(大部分是转载内容,只是加以整理而已.)

#用户
[users]
root=123456,role1
admin=admin,role1,role2
#角色和权限
[roles]
role1 = permission1
role2 = permission2,permission3


Shiro中INI的构成


在Shiro中的INI主要是由四个部分组成,分别是main,users,roles,urls.下面我就分别来说明各个模块的使用以及作用.


[main] 模块 (Shiro功能配置)


(骚栋用这个模块使用的次数不多,直接从网上CV了~见谅)
main主要配置shiro的一些对象,例如securityManager ,Realm,authenticator,authcStrategy 等等,例如

#声明一个realm  
MyRealm1=com.shiro.mutilrealm.MyRealm1
MyRealm2=com.shiro.mutilrealm.MyRealm2
 
#配置验证器
authenticator = org.apache.shiro.authc.pam.ModularRealmAuthenticator
 
# AllSuccessfulStrategy 表示 MyRealm1和MyRealm2 认证都通过才算通过
#配置策略
#authcStrategy = org.apache.shiro.authc.pam.AllSuccessfulStrategy
authcStrategy = com.shiro.authenticationstrategy.MyAuthenticationStrategy
 
#将验证器和策略关联起来
authenticator.authenticationStrategy = $authcStrategy
 
#配置验证器所使用的Realm
authenticator.realms=$MyRealm2,$MyRealm1
 
#把Authenticator设置给securityManager
securityManager.authenticator = $authenticator

除了对象之外,也可以使用byte数组,集合,map等等

例如:

byte数组

authenticator.bytes=0x68656c6c6f69

集合

authenticator.array=1,2,3
securityManager.sessionManager.sessionListeners = $sessionListener1,$sessionListener2

map(键值对使用冒号来限定 key:value)

authenticator.map=$jdbcRealm:$jdbcRealm,1:1,key:abc

在web应用中,我们可以进行以下配置,表示如果用户没有登录进行访问时,将自动跳转到/login页面

authc.loginUrl=/login


[users] 模块 (用户密码配置)


[users]允许你配置一组静态的用户,包含用户名,密码,角色,一个用户可以有多个角色,可以配置多个角色,例如:

username = password, roleName1, roleName2, …, roleNameN

这里涉及到密码,就牵扯到加密的问题,我们可以MD5,Sha1,Sha256等算法进行加密

[main]
 
#告诉shiro我们用哪个加密算法
sha256Matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher
iniRealm.credentialsMatcher = $sha256Matcher
 
[users]
 
#用户名=密码,角色
admin=355b1bbfc96725cdce8f4a2708fda310a80e6d13315aec4e5eed2a75fe8032ce,role1

获取密码的 hex 加密字符串

String ss = new Sha256Hash("cc").toHex();


[roles] 模块 (角色权限配置)


[roles]将角色和权限关联起来,格式为:角色名=权限字符串1,权限字符串2…..,例如

role1 = printer:create,printer:query

权限标识符号规则:【中间用“:”(半角冒号分隔)】

权限标识符号详情
资源:操作【user:create:表示对用户资源进行create操作】【等价于:user:create:*(对所有的用户实例进行操作
资源:操作:实例【user:create:01:表示对用户资源的01实例进行create操作】
例子:【user:*:01 表示对用户资源的01实例进行所有操作】

所有权限标识符规则:【使用 * 号来表示所有权限标识符】

所有权限标识符号详情
通配符:user:edit:、user::、user::manager 等价:user:edit==user:edit:、user == user::* 只能从字符串结尾处省略。


[urls] 模块 (拦截器配置)


这部分配置主要在web应用中,格式为:url=拦截器[参数],拦截器[参数]……,例如

/login=anon
/unauthorized=anon
/static/**=anon
/authenticated=authc
/role=authc,roles[admin]
/permission=authc,perms["user:create"]

说明:

anon: 表示匿名访问,即不需要登录就可以访问,例如/login这个路径可以匿名访问

authe: 表示需要登录才能访问

roles[admin]: 表示有admin这个角色的用户才能访问

perms["user:create"]: 表示有这个权限的才能访问

url通配符语法:

?:匹配一个字符
*:匹配零个或多个字符
**:匹配零个或多个路径

注意: URL匹配顺序是按照你配置的顺序,所以匹配顺序一定要正确,否则就有可能会造成访问失败.


结语


前面全部是转载内容,网上的相关很多,这是只是稍作整理.方便日后查看.欢迎关注骚栋.如果有任何问题欢迎评论区留言,谢谢大家了.最后附上原文链接.尊重作者.

原文链接


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容