首页 / 浏览问题 / 云GIS / 问题详情
本地项目获取iportal用户配置信息报跨域
14EXP 2023年05月18日

使用这样的方式获取用户配置信息,本地是localhost:8080报这个问题,其他两个不报

1个回答

您好,userprofile请求报错跨域是因为携带了cookie,登录的cookie是不能跨域的。

ProfileuserProfileuserProfile

3,148EXP 2023年05月18日
那如何解决这个问题呢,如果不携带cookie获取到的用户名跟iportal平台的用户信息不一样
您好,请问有具体的解决办法吗

如果一定要携带cookie,可以考虑将web程序部署到iportal所在的tomcat上,这样就不会有跨域问题了。如果一定需要部署在其他端口上,可以携带token,需要注意的是userprofile携带token只能返回结果为token的用户信息,不会根据当前登录情况改变。另外onlineUserList 资源是 iPortal 在线用户数列表资源。通过发送 GET 请求,可以获取 iPortal 在线用户数列表,您这边看看这个接口是否满足要求,携带管理员token可以获取当前登录的所有用户,具体可以在帮助文档搜索“lonlineUserList”。iist

现在我保存场景的时候也是跨域问题

我保存场景时,调用http://localhost:8190/iportal/web/scenes.json这个接口,报如上错误,麻烦看下是为啥呢

您是怎么调用的呢?携带token调用的吗?
let saveData = {
  name: name,
  tags: tagsArray,
  userName: userName,
  description: description,
  content: JSON.stringify(data)
};

let url = "http://localhost:8190/iportal/web/scenes.json";
window.axios
  .post(url, saveData)
  .then(function(response) {
}
您没有带token吗?不带token是没办法保存场景的

我加了token 也不行呢

token是我刚从iportal上获取的一天的令牌

还是报错跨域吗?请求的时候有带cookie吗?
没有,还是在报跨域

报这个cuo

报这个错误

我把这个withCredentials: true去掉之后可以了,用户也是写死的,如果携带cookie的话还是会跨域
所有接口带cookie都会限制跨域,只能带token哈,不是只针对userprofile,跟userprofile是一样的问题
...