springboot整合shiro (三) 结合Mybatis实现真正登录

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(), "");
}

版权声明:本文为weixin_44415928原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。