В моем приложении angular 5 у меня есть запросы get и post, которые выглядят следующим образом:
Получить запрос:
constructor(private httpClient:HttpClient){
this.httpClient.get(this.url_string,{ withCredentials: true }).subscribe(data => {
this.name = data; }) }
Почтовый запрос:
this.httpClient.post(this.url_string,this.data_request,{ withCredentials: true }).subscribe(
data => {
//doing something with data});
В бэкэнде я использую сервис Node с node-sspi для извлечения имени пользователя из запроса.
Узел Сервис:
var express = require('express');
var app = express();
var http = require('http');
var bodyParser = require('body-parser');
const fs = require('fs');
app.use(function(req, res, next) { //allow cross origin requests
res.setHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS, DELETE, GET");
res.header("Access-Control-Allow-Origin", "http://localhost/Sample");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(function (req, res, next) {
var nodeSSPI = require('node-sspi')
var nodeSSPIObj = new nodeSSPI({
retrieveGroups: true
})
nodeSSPIObj.authenticate(req, res, function(err){
res.finished || next()
})
})
app.get('/sign', function fnn(request, response) {
response.send(request.connection.user);
});
app.post('/upload', function fnn1(request, response) {
//doing something
});
Мой вопрос: все запросы get работают нормально. Но когда я использую почтовый запрос, я получаю сообщение об ошибке 401 (неавторизованный пользователь).
Немного больше информации:
Я развертываю свое угловое приложение, используя ng buid --prod --base-href / Sample /
и развернул его на IIS на сайте по умолчанию
И на той же машине, на которой я развернул службу узлов, используя NSSM.
Пожалуйста, ведите меня туда, где я неправ.
Заранее спасибо.