shiro
shiro链接
认证流程
登录认证是通过SecurityManager实现的。
登录认证简单示例:
- 初始化获取SecurityManager
- 获取Subject对象
- 创建token对象,web应用用户名密码从页面传递
- 完成登录
简易实现:
public static void main(String[] args) {
// 1.1根据Ini文件创建securityManager工厂
IniSecurityManagerFactory factory = new IniSecurityManagerFactory("classpath:shiro.ini");
// 1.2获取根据Ini文件创建securityManager实例
SecurityManager securityManager = factory.getInstance();
// 1.3设置securityManager
SecurityUtils.setSecurityManager(securityManager);
// 2.获取subject对象
Subject subject = SecurityUtils.getSubject();
// 3.创建token对象
UsernamePasswordToken token = new UsernamePasswordToken("zhangsan", "123456");
// 尝试登陆
try{
subject.login(token);
System.out.println("登陆成功");
}catch (UnknownAccountException e){
e.printStackTrace();
System.out.println("用户名不存在");
}catch (IncorrectCredentialsException e){
e.printStackTrace();
System.out.println("密码不正确");
}
}