问题 我希望能够将Windows身份验证与Node.js一起使用。
我知道IIS在ASP.NET中处理Windows身份验证,但我无法弄清楚的是,我如何从node.js获取当前的客户端Windows用户名。我知道它不是通过IIS运行的(并且真的不想沿着IISNode路由运行)。
必须有一种通过Node.js获取客户端Windows用户名的方法 - 即使我必须编写C ++库/服务。
最初的想法是,我可以在ASP.NET中设置一个Web服务,它将使用Windows身份验证,并允许我使用Web请求来获取该用户 - 但这可能太天真!
我不想要求用户提供他们的用户名和密码 - 因为这忽略了这一点。
我能看到的任何想法,想法或地点? 或者这是不可能的?
注意:这是在一个封闭的Intranet中,Windows身份验证在我们的ASP.NET应用程序中与Active Directory一起使用。
答案 0 :(得分:1)
<强>方法强>
除非我错过了一些要求,否则您应该能够设置IIS网站以将请求转发到Node.js应用程序,以便
确保禁用匿名访问,并仅将IIS用于IIS站点。
有关如何使用C#或VB在ASP.NET中中继请求的几个示例,请参阅Relaying a request in ASP.NET。您还需要使用标头或GET / POST参数传递用户名:
Response.AppendHeader("CustomUserNameHeader", Page.User.Identity.Name);
<强>假设强>