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 許可權建模 一句話,就是給不同的角色分配不同的許可權。通過給使用者賦予角色的方式,來進行訪...