1. 数据库中数据如下
2. 编写Mapper和Service
3. 在 UserRealm
中实现登录逻辑即可
/**
* 执行认证逻辑
* @param authenticationToken
* @return
* @throws AuthenticationException
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
System.out.println("执行认证逻辑");
// 模拟数据库用户和密码:
UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
User user = userService.findByUsername(token.getUsername());
if (user == null) {
// 用户名不存在
return null; // shiro 底层会抛出 UnKnowAccountException
}
// 判断密码
return new SimpleAuthenticationInfo("", user.getPassword(), "");
}