2019-04-18

看公司netty怎么搞的,看mysql 慕課網(wǎng)視頻,堅持跟著。然后開始搞王建鑫說的項目
晚上回去先搞微服務 集成阿波羅
每天看一張shiro,一口氣看完太難https://jinnianshilongnian.iteye.com/blog/2018398
每天一點
https://gitchat.csdn.net/activity/5c6cf6044bb44360f3370255?seriesId=5c7f8f900043541716772f2a&utm_source=csdn_toolbar
明天繼續(xù)看
https://blog.csdn.net/fu770727044/article/details/85682926

shiro原理,每個配置干什么的(自己看):
Shiro可以幫助我們完成:認證、授權、加密、會話管理、與Web集成、緩存等


無標題.png

Authentication:身份認證/登錄,驗證用戶是不是擁有相應的身份;

Authorization:授權,即權限驗證,驗證某個已認證的用戶是否擁有某個權限;即判斷用戶是否能做事情,常見的如:驗證某個用戶是否擁有某個角色?;蛘呒毩6鹊尿炞C某個用戶對某個資源是否具有某個權限;

Session Manager:會話管理,即用戶登錄后就是一次會話,在沒有退出之前,它的所有信息都在會話中;會話可以是普通JavaSE環(huán)境的,也可以是如Web環(huán)境的;

Cryptography:加密,保護數(shù)據(jù)的安全性,如密碼加密存儲到數(shù)據(jù)庫,而不是明文存儲;

Web Support:Web支持,可以非常容易的集成到Web環(huán)境;

Caching:緩存,比如用戶登錄后,其用戶信息、擁有的角色/權限不必每次去查,這樣可以提高效率;

Concurrency:shiro支持多線程應用的并發(fā)驗證,即如在一個線程中開啟另一個線程,能把權限自動傳播過去;

Testing:提供測試支持;

Run As:允許一個用戶假裝為另一個用戶(如果他們允許)的身份進行訪問;

Remember Me:記住我,這個是非常常見的功能,即一次登錄后,下次再來的話不用登錄了。
Shiro不會去維護用戶、維護權限;這些需要我們自己去設計/提供;然后通過相應的接口注入給Shiro即可。
Subject 綁定到SecurityManager(安全管理器) 到Realm(獲取安全數(shù)據(jù)(如用戶、角色、權限))
從Realm獲取相應的用戶進行比較以確定用戶身份是否合法;也需要從Realm得到用戶相應的角色/權限進行驗證用戶是否能進行操作

image.png

這些參數(shù)為什么這么設置?
其實就是一些經(jīng)驗,后面根據(jù)實際情況 來設置 優(yōu)化性能
數(shù)據(jù)庫公共參數(shù)賦值,在aop或者數(shù)據(jù)庫攔截器 有什么區(qū)別?為什么選擇這種

equals方法:
String的equals方法 比較特殊:先判斷地址是否相同,如果不,判斷是否是String類型,然后判斷長度是否相同,一個char的比較,如果都相同就返回true
為什么hashCode相等 equals不一定相等?
HashMap底層是一個數(shù)組,數(shù)組中的每一個元素是一個Entity組織的鏈表。
put方法:先看是不是一個空數(shù)組,如果key為空,就放一個空key。如果不是,先對key取hashCode,對hash和數(shù)組長度length進行運算,算出一個指向,然后遍歷數(shù)組table數(shù)組,看hash是否相同,key是否相同(地址相同或者equals相同都可以),
關閉防火墻:
systemctl stop firewalld.service

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容