shiro 简单的创建及验证

package com.qr.shiro;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.text.IniRealm;
import org.apache.shiro.subject.Subject;
/**

* @author LiuQi
*/
public class ShiroDemo {
public static void main(String[] args) {
//1.创建安全管理器对象
DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
//2.给安全管理器设置Realm
defaultSecurityManager.setRealm(new IniRealm("classpath:shiro.ini"));
//3.SecurityUtils 给全局安全工具类设置安全管理器
SecurityUtils.setSecurityManager(defaultSecurityManager);
//4.关键对象 subject 主体
Subject subject = SecurityUtils.getSubject();
//5.创建令牌
UsernamePasswordToken token = new UsernamePasswordToken("xiaobai", "123456");


try {
System.out.println("认证状态:" + subject.isAuthenticated());

subject.login(token); //用户认证

System.out.println("认证状态:" + subject.isAuthenticated());

System.out.println("认证通过");
} catch (UnknownAccountException e) {

e.printStackTrace();
System.out.println("该用户名不存在~~~");
System.out.println("认证失败");
}catch (IncorrectCredentialsException e){
e.printStackTrace();
System.out.println("该密码不存在~~~");
System.out.println("认证失败");
}


}
}
posted @ 2020-05-29 10:45  葵儿啊  阅读(24)  评论(0编辑  收藏
/*粒子线条,鼠标移动会以鼠标为中心吸附的特效*/