zoukankan      html  css  js  c++  java
  • SpringBoot+JWT+SpringSecurity+MybatisPlus实现Restful鉴权脚手架

    若图片查看异常,请前往掘金查看:https://juejin.im/post/5d1dee34e51d4577790c1cf4

    前言

    JWT(json web token)的无状态鉴权方式,越来越流行。配合SpringSecurity+SpringBoot,可以实现优雅的鉴权功能。

    关于SpringBoot+ Security的讲解,可以参考我之前的文章:https://www.toutiao.com/i6704647082659021319/

    为了减少重复造轮子的工作量,方便大家复制和参考,我把一个完整的SpringBoot+JWT+SpringSecurity+Mybatis-Plus开发的项目,放到本人的github上,方便自己的同时也方便他人。

    原创声明

    本文发布于掘金号【Happyjava】。Happy的掘金地址:https://juejin.im/user/5cc2895df265da03a630ddca,Happy的个人博客:(http://blog.happyjava.cn)[http://blog.happyjava.cn]。欢迎转载,但须保留此段声明。

    源码获取

    github地址,参考文末即可。

    项目实现的功能

    1、整合了好用方便的Mybatis-plus

    2、整合了JWT

    3、整合了Spring Security

    简单演示

    配置拦截和放行的路径

    未登录请求

    会被拦截返回401。这个返回的内容用户可以自定义即可

    登录

    登录成功后访问需要登录的接口

    这里成功请求到了数据。

    通过注解获取当前 登录的用户

    项目部署

    数据库准备

    建立数据库test,建表如下:

    CREATE TABLE `admin` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(255) NOT NULL,
      `password` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
    

    建表之后,自行插入用户名密码。

    修改配置文件applicatoin.properties

    把数据密码等配置修改正确

    spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    # 需要手写mapper打开此配置
    mybatis-plus.mapper-locations=classpath:mappers/*.xml
    # jwt的密钥
    jwt.secret.key=happyjava1234214214asfasfasfasdf
    # jwt过期时间
    jwt.token.expired=360000
    

    也可自定义jwt的加密密钥和token过期时间

    启动项目

    启动项目即可通过接口进行测试

    源码地址

    https://github.com/Happy4Java/hello-springboot

    关注公众号领资料

    搜索公众号【Happyjava】,回复【电子书】和【视频】,即可获取大量优质电子书和大数据、kafka、nginx、MySQL等视频资料

    关注Happyjava公众号

  • 相关阅读:
    C51 使用端口 个人笔记
    C51 静态数码管 个人笔记
    C51 矩阵按键 个人笔记
    C51 蜂鸣器 个人笔记
    C51 独立按键 个人笔记
    C51 中断 个人笔记
    CC3200 TI 笔记
    iar修改包含路径的方法
    WCF绑定和行为在普通应用和SilverLight应用一些对比
    用批处理来自动化项目编译及部署(附Demo)
  • 原文地址:https://www.cnblogs.com/happy4java/p/11206830.html
Copyright © 2011-2022 走看看