我正在寻求将此本地环境切换为使用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来更改身份验证方案?
答案 0 :(得分:1)
简而言之,不。 dotnet CLI
无法启动IIS Express,因为它不是跨平台的(请参阅Visual Studio Developer Community网站上的this answer。如果使用dotnet run
,它将在{{1}中托管应用程序}
通过Kestrel
,UseIIS()
和UseIISIntegration()
调用,您可以在不同的环境中托管您的应用程序,但实际上不启动这些主机。
使用的实际主机在UseKestrel()
文件中定义,该文件应该是您的Web应用程序的一部分(在Visual Studio解决方案资源管理器中的“属性”下)。
此外,您不需要自己添加launchsettings.json
,因为在UseIIS()
调用中已为您完成了此操作。您可以详细了解WebHost.CreateDefaultBuilder()
做here
还有另一个question and answer,可以帮助您从命令行为CreateDefaultBuilder()
应用启动IIS Express。
如果您想在dotnet
中托管应用,则instructions are here