自定義realm
public
class
cunstomrealm
extends
authorizingrealm
//授權 --根據安全資料返回使用者所具有的所有許可權
protected authorizationinfo dogetauthorizationinfo
(principalcollection principalcollection)
} ******authorizationinfo.
setroles
(roles)
; ******authorizationinfo.
setstringpermissions
(perms)
;return ******authorizationinfo;
}//認證
protected authenticationinfo dogetauthenticationinfo
(authenticationtoken authenticationtoken) throws authenticationexception
//返回 null
return
null;}
}
shiroconfig配置類
@configuration
public
class
shiroconfig
//2. 建立安全管理器
@bean
public securitymanager getsecuritymanager
(cunstomrealm cunstomrealm)
//3.配置shiro 過濾工廠
@bean
public shirofilte***ctorybean shirofilte***ctorybean
(securitymanager securitymanager)//
4.開啟對shiro 註解支援
@bean
public authorizationattributesourceadvisor authorizationattributesourceadvisor
(securitymanager securitymanager)
}
controlller
@restcontroller
public
class
usercontroller
//新增
(value =
"/user"
,method = requestmethod.
post
)public string add()
//查詢
(value =
"/user"
,method = requestmethod.
get)
public string find()
//更新
(value =
"/user/"
,method = requestmethod.
get)
public string update
(string id)
//刪除
(value =
"/user/"
,method = requestmethod.
delete
)public string delete()
//使用者登入
(value=
"/login"
)public string login
(string username,string password)
catch
(exception e)
}(value=
"/unauth"
)public string unauth
(int code)
}
啟動類
(scanbasepackages =
"cn.wx"
)@entityscan
("實體包"
)public
class
@bean
public openentitymanagerinviewfilter openentitymanagerinviewfilter()
}在進行認證授權測試時,報異常,最終 定位到 realm中獲取密碼時 選用的方法 不同
如下所示:
string password = usernamepasswordtoken.getpassword().tostring(); 錯誤
string password = new string(usernamepasswordtoken.getpassword()); /正確
Shiro許可權認證
shiro的授權以及許可權 關係圖 我們需要在service層中先寫好方法 public inte ce shirouserservice然後imp繼承 service shirouserservice public class shirouserserviceimpl implements shi...
Shiro許可權認證Web
目錄 shiro內建的過濾器講解 filter配置路徑 shiro 資料安全之資料加解密 1.核心過濾器類 defaultfilter,配置哪個路徑對應哪個 進行處理 2.authc org.apache.shiro.web.filter.authc.formauthenticationfilter...
Shiro許可權管理(二) 認證
時隔這麼久終於有時間更新了,今天和大家分享一下shiro的原理。我認為無論是shiro也好,還是其他安全框架也好,其功能主要就分為三部分 認證 授權 加密。下面我們來詳細說明shiro具體是如何實現的。講原理當然離不開結構圖,我們先來看一下shiro的整體結構。由shiro的結構圖我們可以看出shi...