做任何事情,首先要雙方就一些概念的理解達成一致,這樣大家就有共同語言,后續的溝通效率會高一些。
#,Authentication,認證,也就是驗證用戶的身份,就是確定你是不是你,比如通過用戶名、密碼的方式驗證,或者某些第三方認證,比如微信認證。
#,Authorization,授權,也叫訪問控制,也就是看你是否有權限做什么事情,比如是否有權限看某個文件,或者是否有權限做后台管理;
#,Cipher,加密方式,這里主要有幾種常用的加密方式,比如分組密碼(Block Ciphers)、流密碼(Stream Ciphers)、對稱加密(Symmetric Ciphers)、非對稱加密(Asymmetric Ciphers)
#,Credential,證書,比如密碼、指紋或者網銀的Key都算是證書的一種。系統通過將用戶提供的證書和系統存儲的證書比較,如果一致就認為用戶的身份是對的;
#,Hash,哈希,一種單相的數據加密算法;
#,Persmission,權限,用於描述系統的某項基礎功能,比如 “打開一個文件”,“查看’/user/list/’頁面”,“打印文檔”,這些都算是一種權限;
#,Principal,身份,就是一種用於標識用戶身份的一種屬性,比如郵箱、電話號碼、用戶名、微信號等;
#,Realm,這是一個用於訪問應用程序的用戶、角色、權限的組件,可以把它看做是Shiro的DAO(Data Access Object),用於把各種存儲介質(比如關系數據庫、LDAP、文件)內的用戶權限數據轉換為Shiro能夠理解的格式。
#,Role,角色,在Shiro中,角色就是權限的組合;
#,Session,會話,也就是用戶登錄之后的上下文,在用戶登出之前可以不用傳遞用戶名、密碼就可以做各種操作;
#,Subject,起始就是user,但是在Shiro中把它叫做Subject,因為和我們系統交互的不一定是人,也可能是其他的系統。
Shiro官方的解釋:http://shiro.apache.org/terminology.html