1、SysLoginService 登录校验方法类
添加:
@Autowired
private SysPermissionService permissionService;
private Logger log = LoggerFactory.getLogger(this.getClass());
/**
* 登录验证
*
* @param username 用户名
* @return 结果
*/
public String ssoLogin(String username)
{
SysUser user = userService.selectUserByUserName(username);
if (StringUtils.isNull(user)) {
log.info("登录用户:{} 不存在.", username);
throw new ServiceException(MessageUtils.message("user.not.exists"));
} else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
log.info("登录用户:{} 已被删除.", username);
throw new ServiceException(MessageUtils.message("user.password.delete"));
} else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
log.info("登录用户:{} 已被停用.", username);
throw new ServiceException(MessageUtils.message("user.blocked"));
}
LoginUser loginUser = new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
recordLoginInfo(loginUser.getUserId());
// 生成token
return tokenService.createToken(loginUser);
}
目录:ruoyi-framework——>src——>main——>java——>com.ruoyi.framework——>web——>service
2、SysLoginController 控制器
添加:
/**
* 登录方法
*
* @param username 登录信息
* @return 结果
*/
@PostMapping("/ssoLogin")
@ApiOperation("登录")
@Anonymous
public AjaxResult ssoLogin(@RequestParam("username") String username) {
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.ssoLogin(username);
ajax.put(Constants.TOKEN, token);
return ajax;
}
目录:ruoyi-admin——>src——>main——>java——>com.ruoyi——>web——>controller——>system