传统的登录方式都是用户名和密码组合登录,但是现在辅助登录手段多样,比如短信验证码,邮箱验证码等其他手段。这样就无法获取密码进行验证。所以本文整理了不需要密码的认证方式。
传统的登录代码如下
UsernamePasswordToken token = new UsernamePasswordToken(userName, password);
Subject subject = SecurityUtils.getSubject();
Map userMap = new HashMap();
try {
//使用shiro 进行登录认证
subject.login(token);
} catch (UnknownAccountException uae) {
subject.getSession().removeAttribute(LoginString.LOGIN_KEY);
returnBean = new ReturnBean(uae, "用户名不存在");
} catch (IncorrectCredentialsException e) {
subject.getSession().removeAttribute(LoginString.LOGIN_KEY);
returnBean = new ReturnBean(e, "密码错误");
} catch (AuthenticationException e) {
// 账户认证失败
subject.getSession().removeAtt