天天看點

【Shiro】Shiro從小白到大神(二)-Subject認證結合MySQLSubject認證主體認證流程執行個體源代碼下載下傳位址:

上一節部落格講的文本資料驗證,基本不會在項目中用到,隻是友善用來學習和測試

在本節,進行簡單的資料庫安全驗證執行個體

Subject認證主體包含兩個資訊:

Principals: 身份,可以是使用者名,郵件,手機号碼等等,隻要能用來辨別一個登陸主體身份的東西都可以

Credentials: 憑證(比如你說你叫張三,你憑什麼說叫張三,你這個時候會拿出身份證說你就是叫張三,這個憑證和身份證差不多),常見有密碼,數字證書等等

1.身份憑證登入:.login(token)

2.SecurityManager - 管理者

3.4.涉及安全資料。在這裡涉及到了Realm(意思是域),Shiro從Realm中擷取驗證資料(或者叫安全資料);

Realm有很多種類,例如常見的jdbc realm,jndi realm,text realm(上節的部落格就是text Realm).

我們可以去Shiro的源碼檢視:

可以看到還是有比較多的。

本節講解jdbc Realm。

既然是資料庫操作,首先當然是去建資料庫和表啦

直接拷貝進資料庫運作即可(資料庫檔案在項目src\sql目錄下)

注意事項:

表名一定要是: users

使用者名列名必須是: userName(大小寫不區分) **

jdbc_realm.ini配置檔案

“;”為ini檔案的注釋

測試類:

如果驗證失敗會報異常,可以自己測試

歡迎轉載,分享是進步的源泉。