传递凭据不起作用

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=?';

替换用户名 - 用实际用户名 和密码与实际密码。

【讨论】:

以上是关于传递凭据不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Keycloak 令牌生成不起作用 - 未经授权的凭据

laravel 5.4 auth 外观不起作用

从 Google 存储桶 IAM 政策中删除用户(身份)不起作用

如何在 pentaho bi url 中传递登录凭据

Laravel JWTAuth::attempt($credentials) 在 Ubuntu 服务器中不起作用

在两个视图控制器之间传递数据不起作用