传递凭据不起作用
Posted
技术标签:
【中文标题】传递凭据不起作用【英文标题】:passing credentials not working 【发布时间】:2014-11-04 05:29:14 【问题描述】:我正在尝试通过传递凭据来进行 json 调用。如果用户已经使用 Sql Membership 登录到系统,我怎样才能通过凭据而不得到这个:
这里是调用web.api的代码:
注意:正在从跨域进行调用:即 www.project.com -> api.project.com
var url = 'http://api.project.com/LookUps/uploadtypes?callback=?';
$.ajax(
type: 'GET',
url: url,
async: true,
xhrFields:
withCredentials: true
,
jsonpCallback: 'handler',
contentType: "application/javascript",
dataType: 'jsonp',
success: function (json, textStatus, jqxhr) console.log(jqxhr.responseText); ,
error: function (json, textStatus, jqxhr) console.log(jqxhr.responseText);
);
编辑:
当身份验证被禁用时,我仍然可以登录。窗口认证设置还有其他地方吗?
【问题讨论】:
弹出窗口用于 Windows 身份验证。我认为您需要为 iis 服务器上部署的 api 项目禁用 windows 身份验证。 是否要启用 Windows 身份验证? 我需要启用的基于表单的身份验证。我正在尝试将凭据从我的 web 应用程序传递到 web api 项目。即使我作为凭据传递,它也会要求输入用户名和密码。 您的表单身份验证 cookie 上的域是什么? app.project.com 【参考方案1】:为防止此弹出窗口,您必须将您的 URL 更改为关注。
var url = 'http://username:password@api.project.com/LookUps/uploadtypes?callback=?';
替换用户名 - 用实际用户名 和密码与实际密码。
【讨论】:
以上是关于传递凭据不起作用的主要内容,如果未能解决你的问题,请参考以下文章
从 Google 存储桶 IAM 政策中删除用户(身份)不起作用