核心jar包
shiro.ini
shiro.ini:
[users]
zb=123
lwk=1
身份認(rèn)證代碼:
// 讀取配置文件shiro.ini,初始化SecurityManager工廠
Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
// 獲取SecurityManager實(shí)例
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
// 把綁定SecurityManager實(shí)例綁定到SecurityUtils
SecurityUtils.setSecurityManager(securityManager);
// 得到當(dāng)前執(zhí)行用戶
Subject currentUser = SecurityUtils.getSubject();
// 創(chuàng)建token令牌,用戶名/密碼
UsernamePasswordToken token = new UsernamePasswordToken("zb", "123");
try {
// 身份認(rèn)證
currentUser.login(token);
System.out.println("身份認(rèn)證成功!" + token.getUsername());
} catch (IncorrectCredentialsException e) {
System.out.println("登錄密碼錯(cuò)誤");
} catch (ExcessiveAttemptsException e) {
System.out.println("登錄失敗次數(shù)過多");
} catch (LockedAccountException e) {
System.out.println("帳號(hào)已被鎖定");
} catch (DisabledAccountException e) {
System.out.println("帳號(hào)已被禁用");
} catch (ExpiredCredentialsException e) {
System.out.println("帳號(hào)已過期");
} catch (UnknownAccountException e) {
System.out.println("帳號(hào)不存在");
}
// 退出
currentUser.logout();