关于token验证问题。

快跑蜗牛哥 2017-07-14 05:56:40
用户给了个连接地址,
http://123.98.215.162:81/home/ssoLogin.action?redirectUrl=/home/index.action&userName=hzxf&password=8FFB9BD9B451A5E16D49645EB195CE4D
通过这个账号,密码直接登录系统。

如何在 js中处理,才能通过<a href=""> 直接登录系统。


直接访问
http://123.98.215.162:81/home/ssoLogin.action?redirectUrl=/home/index.action&userName=hzxf&password=8FFB9BD9B451A5E16D49645EB195CE4D 时会出现

Request processing failed; nested exception is com.hikvision.cms.base.common.exception.BaseRunTimeException: token不能为空

...全文
394 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 qw0907 的回复:
[quote=引用 1 楼 wangzl1163 的回复:] 你还是问下用户登录他们的系统需要不需要token,这个接口的具体参数和调用方法
肯定需要的,只提供了以下代码 //获取token private string GetToken() { string responseBodyAsText = string.Empty; try { var task = httpClient.GetAsync(new Uri(@"http://123.98.215.162:81/home/ssoTokenKey.action")); task.Result.EnsureSuccessStatusCode(); HttpResponseMessage response = task.Result; var result = response.Content.ReadAsStringAsync(); responseBodyAsText = result.Result; } catch (Exception ex) { } return responseBodyAsText; } [/quote] 把这个获取对方token的方法放到你的后台,每次发起请求前,先用ajax请求这个方法获取到token加到url参数中再向对方发起请求。
孟子E章 2017-07-15
  • 打赏
  • 举报
回复
看样子应该这么写 http://123.98.215.162:81/home/ssoLogin.action?redirectUrl=/home/index.action&userName=hzxf&password=8FFB9BD9B451A5E16D49645EB195CE4D&token=xxxxxxxxxxxxxxxx 这个token是有有效期的,所以直接写链接里面可能不可行,js可以先得到token再登陆。你得跟对方协商怎么处理。
快跑蜗牛哥 2017-07-15
  • 打赏
  • 举报
回复
引用 1 楼 wangzl1163 的回复:
你还是问下用户登录他们的系统需要不需要token,这个接口的具体参数和调用方法
肯定需要的,只提供了以下代码 //获取token private string GetToken() { string responseBodyAsText = string.Empty; try { var task = httpClient.GetAsync(new Uri(@"http://123.98.215.162:81/home/ssoTokenKey.action")); task.Result.EnsureSuccessStatusCode(); HttpResponseMessage response = task.Result; var result = response.Content.ReadAsStringAsync(); responseBodyAsText = result.Result; } catch (Exception ex) { } return responseBodyAsText; }
Go 旅城通票 2017-07-15
  • 打赏
  • 举报
回复
引用 4 楼 qw0907 的回复:
[quote=引用 3 楼 net_lover 的回复:] 看样子应该这么写 http://123.98.215.162:81/home/ssoLogin.action?redirectUrl=/home/index.action&userName=hzxf&password=8FFB9BD9B451A5E16D49645EB195CE4D&token=xxxxxxxxxxxxxxxx 这个token是有有效期的,所以直接写链接里面可能不可行,js可以先得到token再登陆。你得跟对方协商怎么处理。
是的,按道理是这样写,对方提供了获取代码,就是上面的代码。 是 C#的,现在是在js页面实现。[/quote] 前端跨域不了,除非对方设置了Access-Control-Allow-Origin响应头允许你跨域,要不ajax请求会报错,其他ifarme,script加载获取不到返回值 或者返回的是jsonp数据,可以用script获取返回值
快跑蜗牛哥 2017-07-15
  • 打赏
  • 举报
回复
引用 3 楼 net_lover 的回复:
看样子应该这么写 http://123.98.215.162:81/home/ssoLogin.action?redirectUrl=/home/index.action&userName=hzxf&password=8FFB9BD9B451A5E16D49645EB195CE4D&token=xxxxxxxxxxxxxxxx 这个token是有有效期的,所以直接写链接里面可能不可行,js可以先得到token再登陆。你得跟对方协商怎么处理。
是的,按道理是这样写,对方提供了获取代码,就是上面的代码。 是 C#的,现在是在js页面实现。
  • 打赏
  • 举报
回复
你还是问下用户登录他们的系统需要不需要token,这个接口的具体参数和调用方法

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧