在我的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部署了Node Service。
请指导我哪里错了。
谢谢。