SpringBoot+Vue+JWT的前后端分离登录认证的步骤是怎样的
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本篇文章给大家分享的是有关SpringBoot+Vue+JWT的前后端分离登录认证的步骤是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看
千家信息网最后更新 2025年02月08日SpringBoot+Vue+JWT的前后端分离登录认证的步骤是怎样的
本篇文章给大家分享的是有关SpringBoot+Vue+JWT的前后端分离登录认证的步骤是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创建后端springboot工程
这个很简单了,按照idea的一步一步创建就行
文件目录结构:
pom文件依赖导入。
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.projectlombok lombok 1.16.16 provided io.jsonwebtoken jjwt 0.9.1 javax.xml.bind jaxb-api 2.3.0 com.sun.xml.bind jaxb-impl 2.3.0 com.sun.xml.bind jaxb-core 2.3.0 javax.activation activation 1.1.1
创建实体类:User
//username,password,token三个字段
private String username; private String password; private String token; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getToken() { return token; } public void setToken(String token) { this.token = token; }
创建JWToken
public class JwtToken { private static long time = 1000*5; private static String signature = "admin"; //创建token的方法 public static String createToken(){ JwtBuilder jwtBuilder = Jwts.builder(); String jwtToken = jwtBuilder //header .setHeaderParam("typ","JWT") .setHeaderParam("alg","HS256") //payload .claim("username","tom") .claim("role","admin") .setSubject("admin-test") .setExpiration(new Date(System.currentTimeMillis()+time)) .setId(UUID.randomUUID().toString()) //signature .signWith(SignatureAlgorithm.HS256,signature) .compact(); return jwtToken; } //校验token,布尔类型 public static boolean checkToken(String token){ if (token ==null){ return false; } try { JwsclaimsJws = Jwts.parser().setSigningKey(signature).parseClaimsJws(token); }catch (Exception e){ return false; } return true; }}
创建控制器UserController
@RestControllerpublic class UserController { private final String USERNAME = "admin"; private final String PASSWORD = "123123"; //login方法 @GetMapping("/login") public User login(User user){ if(USERNAME.equals(user.getUsername()) && PASSWORD.equals(user.getPassword())){ //添加token user.setToken(JwtToken.createToken()); return user; } return null; } //校验token @GetMapping("/checkToken") //接收前端请求过来的header中的token,然后去jwtoken校验方法里校验这个token public Boolean checkToken(HttpServletRequest request){ String token = request.getHeader("token"); return JwtToken.checkToken(token); }}
不要忘了前后端分离中的跨域问题, 我们在后端进行跨域问题的解决。
@Configurationpublic class CrosConfiguration implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS") .allowCredentials(true) .maxAge(3600) .allowedHeaders("*"); }}
前端创建Vue项目
Login页面:
home页面
export default { data(){ return { admin: '' } }, created() { //admin的信息从保存在客户端中的信息中获取 this.admin = JSON.parse(window.localStorage.getItem('access-admin')) }}
index.js路由
router.beforeEach((to, from, next) => { if (to.path.startsWith('/login')) { //取出token信息 window.localStorage.removeItem('access-admin') next() } else { //获取token的信息。 let admin = JSON.parse(window.localStorage.getItem('access-admin')) if (!admin) { next({path: '/login'}) } else { //校验token合法性 axios({ url:'http://localhost:8080/checkToken', method:'get', headers:{ token:admin.token } }).then((response) => { console.log(response.data) if(!response.data){ console.log('校验失败') next({path: '/error'}) } }) next() } }}
以上就是SpringBoot+Vue+JWT的前后端分离登录认证的步骤是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
信息
方法
步骤
登录
认证
前端
客户
客户端
文件
更多
知识
篇文章
问题
页面
输入
合法
实用
三个
合法性
字段
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何关闭清空数据库
网络安全的立法指导
服务器安全狗卸栽要密码
小学生网络安全讲演比赛图片
航空公司软件开发工资待遇
静安区个人数据库服务商销售价格
网络安全 物理入侵
外网可以访问的服务器
广州金越软件开发公司
软件开发很挣钱吗
四川app软件开发正规平台
九州竞技网络技术有限公司
mysql数据库登录语句
数据库会让服务器宕机嘛
国家网络安全产业园什么时候开建
数据库脚本出现error
网络安全十强公司
东西湖网络安全基地什么时候开学
提高网络技术的安全性能
杭州悦岚网络技术有限公司
oracle数据库的用户
湘西网络安全培训班
3u服务器供应商
java可以搭建网页服务器吗
玖富网络安全
广东省网络安全罩 探针设备
cs结构 服务器
创客软件开发有限公司怎么样
河南v5服务器哪家好
湖南网络技术服务报价