1、shiro授權角色、許可權
2、shiro的註解式開發
1shirouserservice2select r.roleid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role r
3 where u.userid = ur.userid and ur.roleid =r.roleid
4 and u.userid =#56
7select p.permission from t_shiro_user u,t_shiro_user_role ur,t_shiro_role_permission rp,t_shiro_permission p
8 where u.userid = ur.userid and ur.roleid = rp.roleid and rp.perid =p.perid
9 and u.userid =#
10
1service實現類/**2
* 查詢角色3*
@param
userid4*
@return5*/
6 setgetrolesbyuserid(integer userid);78
/**9
* 查詢角色許可權
10*
@param
userid
11*
@return
12*/
13 setgetpersbyuserid(integer userid);
@override重寫自定義realm中的授權方法public setgetrolesbyuserid(integer userid)
@override
public setgetpersbyuserid(integer userid)
1/*2@requiresuser:表示當前subject已經身份驗證或者通過記住我登入的授權的方法3*/
4@override
5protected
authorizationinfo dogetauthorizationinfo(principalcollection principalcollection)
@requiresguest:表示當前subject沒有身份驗證或者通過記住我登入過,即是遊客身份
@requiresroles(value = ,logical = logical.and):表示當前subject需要角色admin和user
@requirespermissions(value = ,logical = logical.or):表示當前subject需要許可權user:delete或者user:b
controller層
1springmvc-servlet.xml@requiresuser
2@responsebody
4public
string passuser()
89 @requiresroles(value = , logical =logical.or) //value:不同或者多個的角色,logical:value值的拼接方式可以是and或者or
10@responsebody
12public
string passrole()
1617 @requirespermissions(value = , logical =logical.or)
18@responsebody
20public
string passper()
1在main.jsp中新增class="org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator"
2 depends-on="lifecyclebeanpostprocessor">34
5class="org.apache.shiro.spring.security.interceptor.authorizationattributesourceadvisor">67
891012
13unauthorized
1415
1617
18
1使用者zs身份認證,未認證。登入即可訪問
使用者ls角色認證,不同角色有不同的訪問許可權,即使zs登入也不可以訪問此頁面
許可權認證結果圖同上,從**來看
@requirespermissions(value = , logical =logical.or)
@responsebody
public
string passper()
擁有 "user:update","user:create" 這兩個許可權的即可訪問此頁面。從頂部的圖中可以看出那些使用者對應了哪些許可權。
Shiro入門(六)Shiro授權
本章講解shiro授權的相關知識 1.概念 authorization 授權,也就是授予使用者訪問某些資源的許可權。前提在於需要使用者通過登入驗證才可以進行授權。許可權 permit 表示某些功能,如按鈕的顯示,選單的訪問,資料的crud 角色 role 許可權的集合,比如管理員角色,其擁有訪問系統...
shiro下篇授權
先寫個例子看一下 1 在realm中進行授權 1.2使用者請求的這個方法必須要有 quanxian 這個授權,才可以訪問。這裡給予當前登陸使用者 quanxian 這個訪問許可權。加上之後可以測試一下。2 使用shiro的方法註解方式許可權控制 第一步 在spring配置檔案中開啟shiro註解支援...
shiro認證授權
1.shiro配置類 1.1需要配置什麼?建立乙個shirofilte ctorybean物件,檢測認證 向bean中傳入securitymanager物件 沒有認證的時候應該訪問哪個url位址 setloginurl 哪些資源是可以被匿名訪問的 setfilterchaindefinitionma...