Shiro完成簡單使用者認證
阿新 • • 發佈:2018-12-17
1.新建Maven專案Shiro_01,並設定專案輸出檔案顯示 2.訪問apache官網下載地址搜尋到shiro,下載shiro的core、web、整合spring的依賴並且匯入到專案中的pom.xml 3.專案的板塊圖 4.建立認證使用者的檔案shiro.ini檔案
#配置使用者(完成shiro最基礎的認證,在java中實現使用者認證和使用者授權)
[users]
admin=123
sa=456
5.建立測試類TestShiro.java
package com.zs.test;
import org.apache.shiro.SecurityUtils;
import org.apache. shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;
/**
*
* @ClassName: TestShiro
* @Description:完成使用者的簡單認證
* @author 小思
* @date 2018年10月24日 下午8:19:34
*
*/
public class TestShiro {
public static void main(String[] args) {
// 建立shiro的安全管理工廠
// classpath:shiro.ini(使用何處的配置檔案作為安全管理認證檔案)
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
//通過工廠例項化安全管理者的物件
SecurityManager securityManager=factory.getInstance() ;
//利用幫助類將安全管理者新增到當前的安全管理環境中
SecurityUtils.setSecurityManager(securityManager);
//獲取安全管理的專案
Subject subject = SecurityUtils.getSubject();
//建立儲存使用者使用者名稱和密碼的令牌(使用者名稱和密碼是頁面收集的,是使用者在頁面上填寫的)
UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("admin","1234");
//儲存認證結果
boolean authenticated=false;
try {
//將專案進行登入認證
subject.login(usernamePasswordToken);
//獲取認證結果(使用者輸入的使用者名稱和密碼和shiro.ini檔案中的使用者名稱和密碼匹配這返回為ture,為false則會報錯)
authenticated=subject.isAuthenticated();
} catch (Exception e) {
}
//輸出認證結果
System.out.println(authenticated);
}
}
6.執行檢視結果 (1):認證失敗(使用者輸入的使用者名稱和密碼和shiro.ini檔案不一致)
(2):認證成功(使用者輸入的使用者名稱和密碼和shiro.ini檔案一致) 說在最後的話:編寫實屬不易,若喜歡或者對你有幫助記得點贊+關注或者收藏哦~