shiro----异常处理
Shiro 验证时异常分析
DisabledAccountException 账户失效异常
ConcurrentAccessException 竞争次数过多
ExcessiveAttemptsException 尝试次数过多
UnknownAccountException 用户名不正确
IncorrectCredentialsException 凭证(密码)不正确
ExpiredCredentialsException 凭证过期
login方法会抛出登录的异常,通过trycatch捕获处理
ublic class TestA {
public static void main(String[] args) {
//[1]解析shiro.ini文件
Factory<SecurityManager> factory =new IniSecurityManagerFactory("classpath:shiro.ini");
//[2]通过SecurityManager工厂获得SecurityManager实例
SecurityManager securityManager = factory.getInstance();
//[3]把SecurityManager对象设置到运行环境中
SecurityUtils.setSecurityManager(securityManager);
//[4]通过SecurityUtils获得主体subject
Subject subject = SecurityUtils.getSubject();
//[5]书写自己输入的账号和密码---相当于用户自己输入的账号和密码
//我们拿着自己书写用户名密码去和shiro.ini 文件中的账号密码比较
UsernamePasswordToken token =new UsernamePasswordToken("zs","123");
try {
//[6]进行身份的验证
subject.login(token);
//[7]通过方法判断是否登录成功
if(subject.isAuthenticated()){
System.out.println("登录成功");
}
} catch (IncorrectCredentialsException e) {
System.out.println("登录失败");
}catch (UnknownAccountException e){
System.out.println("用户名不正确");
}
}
}
shiro.ini配置文件
[users]
zs=123
sxt=root

浙公网安备 33010602011771号