当前位置: 首页 > 知识库问答 >
问题:

我无法设置基本身份验证标头

寿卜鹰
2023-03-14

我是角的新手。我正在尝试使用基本的身份验证标头向服务器发送GET请求,但它不起作用。这是我的代码,

///////////////My app.js///////////////
var myApp = angular.module('myApp', ['ngRoute', 'ui.bootstrap']);

myApp.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider){
    $httpProvider.defaults.headers.common['Authorization'] = 'Basic YWRtaW46YWRtaW4=';
    $routeProvider
    .when('/', {
        controller: 'UserController',
        templateUrl: './app/views/homepage.html'
    })  
    .when('/users', {
        controller: 'UserController',
        templateUrl: './app/views/userlist.html'
    });
}]);

///////////////My userService.js///////////////
myApp.factory('UserService', function($http){
var factory = {};
var urlBase = 'http://xxx.xxx.xxx.xxx/api';
    factory.getUsers = function(){
        return $http.get(urlBase+'/getusers');
    };
    return factory;
});

当我从控制器调用服务时,浏览器的控制台中显示了2个错误,

  • 选项http://xxx.xxx.xxx.xxx/api/getusers
  • XMLHttpRequest无法加载http://xxx.xxx.xxx.xxx/api/getusers.请求的资源上不存在“访问控制允许源”标头。起源http://localhost:3000因此不允许访问。响应具有HTTP状态代码401

当我通过邮递员应用程序发送请求时,它正常工作。

感谢您的帮助。

共有3个答案

毛峻
2023-03-14

后端开发人员解决的 CORS 错误。所以我认为联系你的后端开发人员....

晋功
2023-03-14

这是CORS问题。您的服务器应该设置一些基本的CORS过滤器。已经有很多问题在这方面提出和回答。

谢飞舟
2023-03-14

这显然是一个跨域请求问题

邮递员是分机

常规网页可以使用XMLHttpRequest对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展没有那么受限制。扩展可以与其源之外的远程服务器通信,只要它首先请求跨源权限。

出于开发目的,您可以简单地禁用chrome的< code >-disable-we b-security ,这将为您完成工作。

或者

您可以简单地使用这个chrome扩展:允许控件允许原点

 类似资料:
  • 问题内容: 从HttpClient 4.3开始,我一直在使用HttpClientBuilder。我正在连接到具有基本身份验证的REST服务。我将凭据设置如下: 但是,这不起作用(我正在使用的REST服务返回401)。怎么了? 问题答案: 从此处的 抢先身份验证 文档中: http://hc.apache.org/httpcomponents-client- ga/tutorial/html/aut

  • 我使用下面的文章在我的laravel项目中创建JWT身份验证。但是现在我不能再使用Basic身份验证了。有没有办法使用基本身份验证?我需要它为我的网络界面。 https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps Route::get('auth/login','Auth\AuthC

  • 我一直在努力遵循这个教程: https://www.baeldung.com/spring-security-basic-authentication 我创建了几个restendpoint,如下所示: 现在的问题是,每当我试图发送POST请求时,我都会得到以下错误消息: HTTP状态401-访问此资源需要完全身份验证 我尝试了两种方法来发送请求,一种是通过邮递员 1.1 401 set-cooki

  • 我正在使用SpringBoot设计一个REST API。同时,我正在构建一个使用该API的SPA。 为了安全起见,我选择了易于设置的Basic Auth。我现在面临的是401挑战问题。当我的SPA向API发出请求时,如果验证失败,浏览器会显示我想要删除的经典登录弹出窗口。 我到处读到,当401响应还包含一个值为“Basic”的WWW authenticate标头时,浏览器会显示这个弹出窗口。 所以

  • 目前我正在开发一个Java工具,它应该可以更新Confluence服务器页面。使用Curl一切都像一个符咒,但是当使用Postman或Java代码(HttpClient Java11)时,我得到了一个 HTTP状态401–未经授权 反应。 在下面的语句中使用curl curl--basic-u user:password-X PUT-H“内容类型:application/json”-d“@test

  • 几天没有任何进展,我需要你的帮助。 使用GWT,我试图与REST服务器通信,服务器位于不同的URL上(需要CORS)<我的配置:服务器spring boot 1.3.3 客户端-GWT 1.7-restygwt 2.0.3 当我在Spring中禁用安全性时,我可以在我的GWT客户端中获取数据。 但是当我启用它时,我总是收到401个请求。REST URL请求直接在Web浏览器中工作(带有其身份验证对