当前位置: 首页 > wzjs >正文

营销型网站建设要多少钱什么网店可以免费开店

营销型网站建设要多少钱,什么网店可以免费开店,建网站做哪方面,个人游戏网站备案场景: 在开发任务管理系统时,我遇到了一个典型的身份认证问题:​​用户登录成功后,调获取当前用户信息接口却提示"用户未登录"​​。系统核心流程如下: ​​用户登录​​:调用 /login 接口&…

场景:

在开发任务管理系统时,我遇到了一个典型的身份认证问题:​​用户登录成功后,调获取当前用户信息接口却提示"用户未登录"​​。系统核心流程如下:

  1. ​用户登录​​:调用 /login 接口,返回 JSESSIONID Cookie
  2. ​角色分配​​:调用 /user/getCurrentUser 接口,需携带登录Cookie供后端验证身份

但实际开发中发现,角色分配接口始终返回未登录错误。通过抓包分析(抓一天了,痛苦),最终定位问题:​​跨域请求未正确携带Cookie,导致后端无法识别用户身份​​。

问题现象:

此时未配置代理的问题代码(注意这里配置了withCredentials:true,但是无效):

<script lang="ts" setup>
import axios from 'axios';const request = axios.create({baseURL: '后端服务地址:端口号',withCredentials: true,
})type loginRequest = {username: string,password: string
}
const loginData = reactive<loginRequest>({username: '用户名',password: '密码',
})type roleAddRequest = {description: string,roleName: string,
}const login = (data: loginRequest) => {return request({url: '/user/login',method: "post",data: data,})
}const createRole = (data: roleAddRequest) => {return request({url: '/role/addRole',method: "post",data: data,})
}
const getCurrentUser = () => {return request({url: '/user/getCurrentUser',method: "post",data: {},})
}
const form = reactive({})
const createForm = reactive<roleAddRequest>({roleName: '测试角色',description: '描述',
})const testWorkflow = async () => {try {// 第一步:执行登录const loginRes = await login(loginData)ElMessage.success(loginRes.data.message)console.log('登录响应', loginRes.data)// 第二步:获取当前用户信息const currentUser = await getCurrentUser()ElMessage.success(currentUser.data.message)console.log('获取响应', currentUser.data)// 第三步:创建角色const roleRes = await createRole(createForm)ElMessage.success(roleRes.data.message)console.log('创建角色', roleRes.data)} catch (error) {console.error('流程执行失败', error)ElMessage.error(axios.isAxiosError(error)? error.response?.data?.message || '请求异常': '未知错误')}
}onMounted(() => testWorkflow())
</script>

        注意这里配置了withCredentials:true,但是无效,无效原因,请求cookie被浏览器筛选过滤掉了,未发送cookie出去:

解决方式:

配置vite.config.ts文件:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vite.dev/config/
export default defineConfig({plugins: [vue()],server: {proxy: {'/api': { // 所有以 /api 开头的请求target: '你的后端地址:端口号', // 后端地址changeOrigin: true, // 修改请求头 Origin 为目标地址rewrite: (path) => path.replace(/^\/api/, '') // 移除 /api 前缀}}}
})

正确请求代码:

<script lang="ts" setup>
import {ref, reactive, computed, onMounted} from 'vue'
import {ElMessage} from 'element-plus'
import {ArrowLeft} from '@element-plus/icons-vue'import axios from 'axios';const request = axios.create({withCredentials: true,
})type loginRequest = {username: string,password: string
}
const loginData = reactive<loginRequest>({username: '用户名',password: '密码',
})type roleAddRequest = {description: string,roleName: string,
}const login = (data: loginRequest) => {return request({url: 'api/user/login',method: "post",data: data,})
}const createRole = (data: roleAddRequest) => {return request({url: 'api/role/addRole',method: "post",data: data,})
}
const getCurrentUser = () => {return request({url: '/api/user/getCurrentUser',method: "post",data: {},})
}
const form = reactive({})
const createForm = reactive<roleAddRequest>({roleName: '测试角色',description: '描述',
})const testWorkflow = async () => {try {// 第一步:执行登录const loginRes = await login(loginData)ElMessage.success(loginRes.data.message)console.log('登录响应', loginRes.data)// 第二步:获取当前用户信息const currentUser = await getCurrentUser()ElMessage.success(currentUser.data.message)console.log('获取响应', currentUser.data)// 第三步:创建角色const roleRes = await createRole(createForm)ElMessage.success(roleRes.data.message)console.log('创建角色', roleRes.data)} catch (error) {console.error('流程执行失败', error)ElMessage.error(axios.isAxiosError(error)? error.response?.data?.message || '请求异常': '未知错误')}
}onMounted(() => testWorkflow())</script>

运行,请求携带cookie:


文章转载自:

http://sjl1gqEM.krzrg.cn
http://0OWI7uPd.krzrg.cn
http://jBRrZeX1.krzrg.cn
http://bKmQD9sW.krzrg.cn
http://YjwT8qiD.krzrg.cn
http://4HCDVKDI.krzrg.cn
http://VJYrE0hG.krzrg.cn
http://vWtby6DE.krzrg.cn
http://i3uO2sry.krzrg.cn
http://bxBVR5O1.krzrg.cn
http://8JC08Bkd.krzrg.cn
http://IiUSOweo.krzrg.cn
http://GYglmGaY.krzrg.cn
http://HTP8OkcE.krzrg.cn
http://ZQvL8qhz.krzrg.cn
http://V8bOKWhf.krzrg.cn
http://dER4pWsa.krzrg.cn
http://BC8Id1TC.krzrg.cn
http://vUMZyot8.krzrg.cn
http://VHqtfhfn.krzrg.cn
http://GvAOEWbs.krzrg.cn
http://rUCes9J8.krzrg.cn
http://2jM2T1qX.krzrg.cn
http://IckvqmZi.krzrg.cn
http://LRt9jeyo.krzrg.cn
http://NlcJOajS.krzrg.cn
http://IXtrc3Zl.krzrg.cn
http://AeTkvyPU.krzrg.cn
http://CipCIn5O.krzrg.cn
http://OmfhqYQU.krzrg.cn
http://www.dtcms.com/wzjs/728912.html

相关文章:

  • 手机网站源码教程古镇网站建设公司
  • 米特号类似网站酷家乐在线家装设计
  • 昆山城市建设网站江苏机械加工网
  • 网站备案资料asp.net 做网站实例
  • 做网站分辨率修改深圳网站搜索引擎优化
  • 微信浏览为网站的缓存怎么清理国外做兼职网站
  • 网站手机缩放wordpress 5.0.2关键词设置
  • 做网编去网站还是工作室好seo运营学校
  • 黄金网站app软件下载安装免费wordpress 模版下载
  • 公司网站建设深全球建筑与室内设计网
  • 少儿美术专业网站做课件网站后台分析图怎么做
  • 免费软件站东莞seo推广
  • 电子政务网站建设总结辽宁建设工程信息网丰田商务
  • 网站系统怎么用成都便宜做网站的
  • 渭南做网站哪家公司北京商场招商信息
  • 怎么自己建立一个网站做网站的证书
  • 陕西省交通建设集团西长分公司网站温州市营销网站建设
  • 正能量网站免费下载网站制作简单模版
  • 中国物流企业网站建设问题wordpress被禁
  • wordpress多站点 用户同步网络实施方案
  • html做音乐网站模板金坛做网站
  • 邯郸建设公司网站百度app旧版本下载
  • 网站建设需要钱吗wordpress伪静态路径写法
  • 怎样提高网站的点击率大型网络游戏
  • 没有网站做淘宝客江苏两学一做网站
  • 宁波建网站价格赤峰市做网站
  • 电子商务网站建设论文电子工程网介绍
  • 网站转出天河区建设水务局网站
  • php怎么做全网小视频网站wordpress网站搜不到
  • 不用写代码做网站wordpress 访问量统计