Active Directory角色-本地开发

时间:2019-01-29 22:13:55

标签: asp.net .net iis .net-core kestrel-http-server

我正在寻求将此本地环境切换为使用Windows身份验证,以便于在代码内部使用以下逻辑。

User.IsInRole("BRV_Projects_Edit");

我正在Windows环境中使用命令

在本地启动dotnet core。
"dotnet run"

我的理解是,这将启动Main()入口点

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>().UseIIS();
}

UseIIS()是否指示这将在本地启动IISExpress?这是否意味着我应该能够找到一个web.config来更改身份验证方案?

1 个答案:

答案 0 :(得分:1)

简而言之,不。 dotnet CLI无法启动IIS Express,因为它不是跨平台的(请参阅Visual Studio Developer Community网站上的this answer。如果使用dotnet run,它将在{{1}中托管应用程序}

通过KestrelUseIIS()UseIISIntegration()调用,您可以在不同的环境中托管您的应用程序,但实际上不启动这些主机。

使用的实际主机在UseKestrel()文件中定义,该文件应该是您的Web应用程序的一部分(在Visual Studio解决方案资源管理器中的“属性”下)。

此外,您不需要自己添加launchsettings.json,因为在UseIIS()调用中已为您完成了此操作。您可以详细了解WebHost.CreateDefaultBuilder()here

还有另一个question and answer,可以帮助您从命令行为CreateDefaultBuilder()应用启动IIS Express。

如果您想在dotnet中托管应用,则instructions are here