登录功能(token)

  /**
     * @Description: 登陆
     * @Author: wangjunbo
     */
    @PostMapping(value = "/login", produces = "application/json;charset=UTF-8")
    @Override
    public RestMessage login(@RequestBody LoginRequest loginRequest) {
        try {
            if (loginRequest == null || StringUtils.isEmpty(loginRequest.getUsername())) {
            //请输入账号
                ExceptionCast.cast(AuthCode.AUTH_USERNAME_NONE);
            }
            if (loginRequest == null || StringUtils.isEmpty(loginRequest.getPassword())) {
            //请输入密码
                ExceptionCast.cast(AuthCode.AUTH_PASSWORD_NONE);
            }
            //账号
            String username = loginRequest.getUsername();

        //密码
        String password = loginRequest.getPassword();

        SeUser seUser = dataExChangeService.getUserByNamePwd(username, password);

        if (seUser != null) {
            TbQybaseinfo tbQybaseinfo = dataExChangeService.getQyByUserId(seUser.getId());
            if (tbQybaseinfo == null) {
                return new RestMessage(RespCodeAndMsg.FAIL, "用户不存在!");
            }
            //生成jwt令牌
            String token = jwtUtil.createJWT(seUser.getId(), tbQybaseinfo.getId(), "user");
            token = "Bearer " + token;
            return new RestMessage(RespCodeAndMsg.SUCCESS, token);
        }
        return new RestMessage(RespCodeAndMsg.FAIL, "账号或密码错误");
    } catch (Exception e) {
        e.printStackTrace();
        return new RestMessage(RespCodeAndMsg.FAIL, "系统错误");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中进行登录验证时,可以使用Token令牌进行验证。通常,可以通过以下步骤进行操作: 1. 首先,在项目的依赖中导入`jjwt`库,该库提供了生成和验证JSON Web Tokens(JWT)的功能。 2. 创建一个工具类,例如`TokenUtil`,该类用于生成和验证Token以及存储Token与用户的对应关系。在该类中,可以使用一个`Map`对象来存储Token和用户之间的映射关系。 3. 在登录成功后,调用`TokenUtil`的`generateToken`方法来生成Token,并将Token与用户信息存储到`Map`对象中。 4. 当需要进行登录验证时,可以通过调用`TokenUtil`的`verify`方法来验证Token的合法性。 5. 如果Token验证通过,可以通过调用`TokenUtil`的`getUser`方法来获取对应的用户信息。 下面是一个示例的`TokenUtil`类的代码: ```java package com.qcby.util; import com.qcby.entity.User; import java.util.HashMap; import java.util.Map; import java.util.UUID; public class TokenUtil { private static Map<String, User> tokenMap = new HashMap<>(); public static String generateToken(User user) { String token = UUID.randomUUID().toString(); tokenMap.put(token, user); return token; } public static boolean verify(String token) { return tokenMap.containsKey(token); } public static User getUser(String token) { return tokenMap.get(token); } } ``` 在以上的代码中,`generateToken`方法用于生成Token并将其与用户信息存储到`tokenMap`中,`verify`方法用于验证Token的合法性,`getUser`方法用于根据Token获取对应的用户信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值