IDEA SSM框架使用Easy code 完成JWT验证

1、打开文件pom.xml,在dependencies标签中加入以下内容,保存后点击右上角的maven重加载按钮

        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.10.3</version>
        </dependency>

2、打开菜单File-Settings-Easy Code,从本地导入,选择模板文件OK,选择COVER,OK完成导入。

3、点击右侧Database,打开第5步中连接的数据库,找到要生成代码的表,在表名上右键,Easy Code,Generate Code,打开如下对话框,选择Package,选中All,统一配置,弹框选是,OK。

4、打开resources-mapper-UseDao.xml,其中加入如下代码段

    <!-- 登录 -->
    <select id="login" resultMap="UserMap">
        select
        <include refid="Base_Column_List" />
        from user
        where username = #{username} and password = #{password}
    </select>

 添加后如图所示

 5、在java-com.xx.xx.dao中打开UserDao.java文件,其中加入以下代码片段

 User login(String username, String password);

添加后如下图所示:

 6、在java-com.xx.xx.service中打开UserService.java文件,其中加入以下代码片段

User login(String username, String password);

添加后如下图所示:

7、在java-com.xx.xx.service.impl中打开UserServiceImpl.java文件,其中加入以下代码片段

 @Override
    public User login(String username, String password) {
        return this.userDao.login(username,password);
    }

添加后如下图所示:

 8、在java-com.xx.xx.controller中打开UserController.java文件,其中加入以下代码片段

/*登录*/
    @GetMapping("/login")
    public Result selectToLogin(@RequestBody User _user) {
        User user = userServiceImpl.login(_user.getUsername(), _user.getPassword());
        if (user != null) {
            Map<String, Object> data = new HashMap<>();
            Map<String,Object> map = new HashMap<>();
            data.put("username", _user.getUsername());
            map.put("id",user.getId());
            map.put("username",user.getUsername());
            map.put("password",user.getPassword());

            data.put("token", JWTUtils.token(map));
            return new Result<>(true,StatusCode.OK,"登录成功",data);
        }
        else {
            return new Result<>(true,StatusCode.ERROR,"账号密码错误或用户不存在");
        }

    }

    @GetMapping("/getMessage")
    public String getMessage(HttpServletRequest request){
        String token = request.getHeader("token");
        int id= JWTUtils.getId(token);
        System.out.println(id);
        return "你已通过验证";
    }

添加后如下图所示:

 9、测试登录 

返回

  10、在需要token验证的接口上加入注解@LoginToke,则访问该接口需要token才能访问

11、在请求头部加入

"token":"eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b2tlbiIsImlzcyI6IndlY2FyIiwiYm9keSI6eyJwYXNzd29yZCI6IjEyMyIsImlkIjoxLCJ1c2VybmFtZSI6ImFiYyJ9LCJleHAiOjE2ODMxNjEwMTIsImlhdCI6MTY4MjU1NjIxMn0.lPbe3GAIGqNtX10bbxolTXa6SlhRkmGr_bMmk66VnCE"

再次请求成功获取数据

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值