若依@v3.8.6分离版后台添加SSO单点登录

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值