Запрос параметров Preflight Cors возвращает 401 (несанкционированный) из Windows Authipended Web APIC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Запрос параметров Preflight Cors возвращает 401 (несанкционированный) из Windows Authipended Web API

Сообщение Anonymous »

У меня есть проект .NET Web API с использованием аутентификации Windows . В моей среде разработки я не могу сделать успешный запрос Post с данными из моего приложения Angular . Он возвращает: < /p>

Код: Выделить всё

OPTIONS http://localhost:9090/api/values 401 (Unauthorized)
Failed to load http://localhost:9090/api/values: Response for preflight has invalid HTTP status code 401.
< /code>

Я пробовал все средства реализации CORs с помощью microsoft.aspnet.webapi.cors < /code> безрезультатно. Но в настоящее время я удалил пакет Microsoft.aspnet.webapi.cors 
из моего проекта в пользу Web.Config Method (если мне на самом деле все еще нужна microsoft.aspnet.webapi.cors. установлен для выполнения следующего в web.config , plz, дайте мне знать) :

shrong>web.config: < /strong> < /p>

Код: Выделить всё








< /code>

[b].net Web API 'valuescontroller.cs': < /strong> < /p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace api.Controllers
{
[Authorize]
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable Get()
{
return new string[] { "value1", "value2" };
}

// GET api/values/5
public string Get(int id)
{
return "value";
}

// POST api/values
public void Post([FromBody]string value)
{
}

// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}

// DELETE api/values/5
public void Delete(int id)
{
}
}
}
< /code>

 угловой компонент (отправляет данные в мою угловую службу): < /strong> < /p>

  constructor(private myService: MyService) {
this.myService.myPost({ID: 1, FirstName: 'Bob'})
.subscribe(
data => console.warn(data),
err => console.error(err),
() => console.log("empty")
);
}
< /code>

 Angular Service (публикует данные компонента в мой веб -API < /code>): < /strong> < /p>

import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse, HttpRequest, HttpHeaders, HttpInterceptor, HttpHandler, HttpEvent, HttpParams} from '@angular/common/http';

import { Observable } from 'rxjs';
import { from } from 'rxjs';
import { map, filter, catchError, mergeMap } from 'rxjs/operators';

@Injectable({
providedIn: 'root'
})
export class MyService {

constructor(private http: HttpClient) {

};

public myPost(body) {

const httpOptions = {
withCredentials: true
}

return this.http.post("http://localhost:9090/api/values", body, httpOptions);

}

}
Из моего исследования кажется, что, возможно, мне нужно пройти в заголовке Authorization в моем запросе через мою переменную httpoptions в службе. Но я не знаю, что пройти в качестве значения для свойства Authorization . См. Знаки вопроса ниже:
strong> myservice.ts[/b]

public myPost(body) {
const httpOptions = {
headers: new HttpHeaders({
'Authorization': '?????'
}),
withCredentials: true
}
return this.http.post("http://localhost:9090/api/values", body, httpOptions);
}
< /code>

Может быть, это даже не моя проблема. Аутентификация CORS + Windows - есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/515 ... -authentic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»