首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-sspi在Azure上部署后继续请求身份验证

node-sspi在Azure上部署后继续请求身份验证
EN

Stack Overflow用户
提问于 2019-11-16 19:25:24
回答 2查看 330关注 0票数 0

我正在开发一个应用程序,使用angular构建前端,使用node JS构建后端。对于身份验证,因为我们必须使用windows身份验证,所以我选择了Node-sspi,因为它实现起来很简单,并且发现它很有效。下面我将发布一个简单的代码,类似于我正在使用的代码。

代码语言:javascript
复制
var http = require('http');
var port = process.env.PORT || 8080;
var express = require('express');
var app = express();

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.use(function(req, res, next) {
  var out =
    'Hello ' +
    req.connection.user +
    '! Your sid is ' +
    req.connection.userSid +
    ' and you belong to following groups:<br/><ul>'
  if (req.connection.userGroups) {
    for (var i in req.connection.userGroups) {
      out += '<li>' + req.connection.userGroups[i] + '</li><br/>\n'
    }
  }
  out += '</ul>'
  res.send(out)
})

app.listen(port, function(){
    console.log('server is listening on port '+port);
})

console.log('Your application is listening on port '+port);

当我在本地浏览时,我可以进行身份验证部分,并可以看到登录页面。问题是,当我在azure或IIS上部署它时,它一直在要求我进行身份验证。

请告诉我如何在IIS和Azure上使用node-sspi实现windows身份验证。

EN

回答 2

Stack Overflow用户

发布于 2019-11-18 14:52:08

据我所知,在Azure web应用程序中不可能使用windows身份验证。应用服务PaaS VM实例无法加入域。这就是为什么你总是要求你登录的原因。

Azure Active Directory是最佳选择。从AD同步到Azure Active Directory也非常容易设置。

如果你仍然想绝对使用Windows身份验证并在Azure上托管你的网站,你可以创建Windows VM并在那里托管你的网站。然后,您需要将VM加入您的AD。为此,两个虚拟机必须位于同一网络中。

票数 0
EN

Stack Overflow用户

发布于 2021-02-17 16:20:51

请将站点添加到受信任的站点

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58890213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档