Shiro安全框架

2021-09-26 13:50:16 字數 3504 閱讀 6815

subject sub = securityutils.

getsubject()

; usernamepasswordtoken token =

newusernamepasswordtoken

(username,password)

; sub.

login

(token)

;

@requiresguest

驗證是否是乙個guest的請求,與@requiresuser完全相反。

換言之,requiresuser == !requiresguest。

此時subject.getprincipal() 結果為null.

@requiresroles

@requiresroles

("arolename");

void

somemethod()

;

如果subject中有arolename角色才可以訪問方法somemethod。如果沒有這個許可權則會丟擲異常authorizationexception。

@requirespermissions

@requirespermissions()

void

somemethod()

;

要求subject中必須同時含有file:read和write:afile.txt的許可權才能執行方法somemethod()

tag標籤

<

shiro:guest

>

遊客訪問 a

>

shiro:guest

>

user 標籤:使用者已經通過認證\記住我 登入後顯示響應的內容

<

shiro:user

>

歡迎[<

shiro:principal

/>

]; 登入 ;

退出a>

shiro:user

>

authenticated標籤:使用者身份驗證通過,即 subjec.login 登入成功 不是記住我登入的

<

shiro:authenticted

>

使用者[<

shiro:principal

/>

] 已身份驗證通過

shiro:authenticted

>

notauthenticated標籤:使用者未進行身份驗證,即沒有呼叫subject.login進行登入,包括"記住我"也屬於未進行身份驗證

<

shiro:notauthenticated

>

未身份驗證(包括"記住我")

shiro:notauthenticated

>

principal 標籤:顯示使用者身份資訊,預設呼叫

subjec.getprincipal()獲取,即primary principal

hasrole標籤:如果當前subject有角色將顯示body體內的內容

使用者[<

shiro:principal

/>

] 擁有角色admin

shiro:hashrole

>

hasanyroles標籤:如果subject有任意乙個角色(或的關係)將顯示body體裡的內容

使用者[<

shiro:pricipal

/>

]擁有角色admin 或者 user

shiro:hasanyroles

>

lacksrole:如果當前 subjec沒有角色將顯示body體內的內容

使用者[<

shiro:pricipal

/>

]沒有角色admin

shiro:lacksrole

>

hashpermission:如果當前subject有許可權將顯示body體內容

使用者[<

shiro:pricipal

/>

] 擁有許可權user:create

shiro:hashpermission

>

lackspermission:如果當前subject沒有許可權將顯示body體內容

使用者[<

shiro:pricipal

/>

] 沒有許可權org:create

shiro:lackspermission

>

指定許可權

subject currentuser = securityutils.

getsubject()

;if(currentuser.

hasrole

("admin"))

if(currentuser.

hasrole

("user"))

"defaultadvisorautoproxycreator"

class

="org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator"

>

name

="proxytargetclass"

value

="true"

>

property

>

bean

>

class

="org.apache.shiro.spring.security.interceptor.authorizationattributesourceadvisor"

>

bean

>

class

=>

name

=>

>

key=

"org.apache.shiro.authz.unauthorizedexception"

>

/mg/unauthorizedprop

>

props

>

property

>

bean

>

shiro安全框架

shiro安全框架是目前為止作為登入註冊最常用的框架,因為它十分的強大簡單,提供了認證 授權 加密和會話管理等功能 shiro能做什麼?認證 驗證使用者的身份 授權 對使用者執行訪問控制 判斷使用者是否被允許做某事 會話管理 在任何環境下使用 session api,即使沒有 web 或ejb 容器...

Shiro安全框架

shiro是apache旗下乙個開源安全框架,它將軟體系統的安全認證相關的功能抽取出來,實現使用者身份認證,許可權授權 加密 會話管理等功能,組成了乙個通用的安全認證框架。使用shiro就可以非常快速的完成認證 授權等功能的開發,降低系統成本。shiro安全框架 在概念層面,shiro 架構包含三個...

安全框架 shiro

安全理論 軟體中安全保護的作用和目的是什麼?讓資源被正確的人正常的訪問。安全防護應該從一下幾個方面 訪問控制 比如 shiro 安全儲存 比如 乙個資料需要加密,比如資料需要備份 安全傳輸 ssl,https 許可權建模 一句話,就是給不同的角色分配不同的許可權。通過給使用者賦予角色的方式,來進行訪...