转:权限管理——用户认证和用户授权
轉(zhuǎn)自:?https://blog.csdn.net/xdd19910505/article/details/51926540?
?
??因?yàn)樽隽藱?quán)限的項(xiàng)目經(jīng)理,so,惡補(bǔ)一下一個(gè)權(quán)限框架:shiro。其實(shí)作為框架首要目標(biāo)是易于使用和理解。安全有時(shí)候是很復(fù)雜的,甚至是痛苦的,但框架沒(méi)有必要這樣。框架應(yīng)該盡可能掩蓋復(fù)雜的地方,露出一個(gè)干凈而直觀的API,來(lái)簡(jiǎn)化開(kāi)發(fā)人員在使他們的應(yīng)用程序安全上的努力。
? ? ? ? ? ??Apche Shiro就是一個(gè)強(qiáng)大而靈活的開(kāi)源安全框架,它干凈利落地處理身份認(rèn)證,授權(quán),企業(yè)會(huì)話管理和加密。說(shuō)到Shiro,就要說(shuō)一下什么是權(quán)限管理。權(quán)限管理實(shí)現(xiàn)對(duì)用戶訪問(wèn)系統(tǒng)的控制,按照安全規(guī)則或者安全策略控制用戶可以訪問(wèn)而且只能訪問(wèn)自己被授權(quán)的資源。權(quán)限管理包括用戶認(rèn)證和授權(quán)兩部分。
?
用戶認(rèn)證
? ? ? ? ? ??其實(shí)大多數(shù)系統(tǒng)都會(huì)有用戶認(rèn)證,因?yàn)榇蠖鄶?shù)系統(tǒng)都有用戶的存在,有用戶使用系統(tǒng)就要登錄。通常我們使用的用戶認(rèn)證也就是通過(guò)驗(yàn)證用戶名和密碼是否正確?;蛘咴俪S玫氖鞘褂弥讣y打卡機(jī)。系統(tǒng)驗(yàn)證了用戶身份的合法性,用戶就可訪問(wèn)系統(tǒng)的資源。但是想要不同用戶有資源,就引出了用戶授權(quán)。
?
關(guān)鍵對(duì)象
? ? ? ? ? ??Subject:主題,可以使用戶,也可能是程序,都要去訪問(wèn)系統(tǒng)的資源,系統(tǒng)需要對(duì)subject進(jìn)行身份認(rèn)證。
? ? ? ? ? ??principal:身份信息,通常是唯一的,一個(gè)主題還有多個(gè)身份信息,單都有一個(gè)主身份信息(Primary Principal)。
? ? ? ? ? ??Credential:憑證信息,可以是密碼、證書(shū)、指紋。
?
用戶認(rèn)證流程
? ? ? ? ? ? ? ??
?
? ? ? ? ? ??其實(shí)用戶認(rèn)證,就是主體在進(jìn)行身份認(rèn)證時(shí)需要提供身份信息和憑證信息。
?
用戶授權(quán)
? ? ? ? ? ??用戶授權(quán)就是對(duì)用戶所能訪問(wèn)的資源進(jìn)程控制。授權(quán)過(guò)程可以理解為:who對(duì)what進(jìn)行how操作。
?
關(guān)鍵對(duì)象
?
? ? ? ? ? ??who:主題,即上文的subject
? ? ? ? ? ??what:資源,resource,subject必須具備資源的訪問(wèn)權(quán)限才可訪問(wèn)資源。
? ? ? ? ? ??how:權(quán)限/許可permission,針對(duì)資源的權(quán)限或許可,subject具有permission訪問(wèn)資源,如何訪問(wèn)需要定義permission。
?
用戶授權(quán)流程
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??其實(shí),用戶認(rèn)證就是在用戶登錄的時(shí)候認(rèn)證用戶是否存在,密碼是否正確。在用戶登錄之后是什么樣子,就要靠授權(quán)了,首先給不同的用戶分配不同的角色,然后給不同的角色授權(quán)不同的資源,不同的用戶也就有了不同的權(quán)限,即可使用或者可看到的資源就會(huì)因人因角色而異了。
總結(jié)
以上是生活随笔為你收集整理的转:权限管理——用户认证和用户授权的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: kafka 学习 非常详细的经典教程
- 下一篇: java作为kafka生产者实验及Exp