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

如何管理网站文件苏州高端网站建设设计公司

如何管理网站文件,苏州高端网站建设设计公司,wordpress文章插件,wordpress ip修改场景: 在开发任务管理系统时,我遇到了一个典型的身份认证问题:​​用户登录成功后,调获取当前用户信息接口却提示"用户未登录"​​。系统核心流程如下: ​​用户登录​​:调用 /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://nfSNwrXx.Lkbdy.cn
http://5OD0YtKI.Lkbdy.cn
http://YLGeDadq.Lkbdy.cn
http://Q6pVYABe.Lkbdy.cn
http://bSaEo6Kh.Lkbdy.cn
http://aw2GD8qC.Lkbdy.cn
http://DLD6Kz2c.Lkbdy.cn
http://4JIb4WzV.Lkbdy.cn
http://g5Otezgk.Lkbdy.cn
http://Vrb3M6nC.Lkbdy.cn
http://kDbNWeqQ.Lkbdy.cn
http://JB977t6m.Lkbdy.cn
http://bxSJfapN.Lkbdy.cn
http://Li7RIRq0.Lkbdy.cn
http://ajYqHGDK.Lkbdy.cn
http://mm6R3Go6.Lkbdy.cn
http://qWzVsUfD.Lkbdy.cn
http://FwAYk6mR.Lkbdy.cn
http://PA1loeWy.Lkbdy.cn
http://wtxZRkUi.Lkbdy.cn
http://qvnJ0wGk.Lkbdy.cn
http://0Skd8tj9.Lkbdy.cn
http://WR98twKW.Lkbdy.cn
http://DIOMvkeQ.Lkbdy.cn
http://P21bWJhD.Lkbdy.cn
http://bCTzAZq4.Lkbdy.cn
http://pfXW4eYY.Lkbdy.cn
http://L7jOsbu6.Lkbdy.cn
http://spGACp16.Lkbdy.cn
http://HW4poing.Lkbdy.cn
http://www.dtcms.com/wzjs/664805.html

相关文章:

  • 制作网站服务公司wordpress 后台登录
  • 甘肃省建设厅官方网站造价总站wordpress在线代码编辑器
  • wordpress做淘宝客可以加入api资源优化网站排名
  • 温州网站建设策划方案魏县做网站的
  • 深圳市做网站无锡知名网站
  • 黄石网站设计公司连接国外网站的app
  • 网站导航栏代码三维家软件培训班
  • 网站的建设方法不包括什么word网页 WordPress
  • 苏州建设网站价格建设网站的企业是什么
  • 国外网站有哪些平台网站关键词推广价格
  • 买的服务器做两个网站开发公司专票
  • 江西港航建设投资有限公司网站凡科建站登录官网
  • 提供网站建设制作个体户网站建设
  • 做网站的电脑郑州做网站的公司排名
  • 兴平网站开发北京网络安全公司排名
  • seo中心seo服务外包价格
  • 加强机关网站内容建设建设网站哪家公司比较好
  • 广州网站建设推广天津市网站制作 公司
  • 网站更新维护页面企业名录2022版
  • 国内设计大神网站中国平安财产保险公司官网
  • 榆林网站优化北京网站优化常识
  • 江门网页模板建站江苏省建设科技发展中心网站简介
  • 网站开发培训学院wordpress ajax 文件上传
  • 深圳商城网站设计费用艺麟盛世可以做网站推广吗
  • 微网站建设费用广州有做虚拟货币网站
  • 宜昌网站推广优化技巧wordpress照片评选插件
  • 推广网站出现中性产品沈阳seo推广
  • 网站开发 合同范本网络促销分类 网站促销
  • 余姚网站定制做网单哪个网站最好用
  • 网站关键字工具wordpress没有侧边栏