我正在ASP.NET 5,MVC 6中构建Intranet应用程序。我想知道如何启用Windows身份验证。默认项目模板仅支持个人用户帐户。

最佳答案

马克的答案在ASP.Net RC1中仍然有效。还有一些其他步骤可以将它们 bundle 在一起(我没有足够的声誉来评论他的解决方案):

  • 安装WebListener from NuGet
  • 将以下用法添加到Startcup.cs中:

    using Microsoft.AspNet.Http.Features;
    using Microsoft.Net.Http.Server;
    
  • 在app.UseMvc之前的Configure方法中添加Mark's code snippet:

    // If we're self-hosting, enable integrated authentication (if we're using
    // IIS, this will be done at the IIS configuration level).
    var listener = app.ServerFeatures.Get<WebListener>();
    if (listener != null)
    {
        listener.AuthenticationManager.AuthenticationSchemes =
        AuthenticationSchemes.NTLM;
    }
    
  • 要调试此问题,您需要使用project.json中的add the WebListener run target,如Mark在另一个答案中指出的那样:

    "commands": {
      "weblistener": "Microsoft.AspNet.Server.WebListener --config hosting.ini",
      "web": "Microsoft.AspNet.Server.Kestrel"
    },
    
  • 选择weblistener而不是IIS Express of Web(Kestrel)来调试应用程序。
  • 10-06 02:14