在WCF中,您可以使用服务行为中的serviceAuthorization
节点通过web.config添加授权策略。有没有办法通过配置在.NET Core WebAPI中包含AuthorizationHandler
?
要清楚,我正在尝试用{。}中的某些内容替换Startup.cs
中的这一行:
services.AddSingleton<IAuthorizationHandler, MyAuthorizationHandler>();
答案 0 :(得分:2)
web.config 仅用于IIS特定配置。由于.net-core的跨平台性质,他们放弃了与Web配置的耦合以进行应用程序配置。
在IIS或IIS Express中托管应用程序时,需要 web.config 文件。 web.config 中的设置使ASP.NET核心模块能够启动应用程序并配置其他IIS设置和模块。
参考Configure an ASP.NET Core App: The web.config file
Startup 是您进入应用程序的入口点,您可以在json文件中进行一些设置,并让您的代码基于此添加/更新配置。
我的想法是,每次要添加内容时都不必重新编译,因为配置选项允许您Reload configuration data with IOptionsSnapshot
需要ASP.NET Core 1.1或更高版本。
IOptionsSnapshot
支持以最小的处理开销重新加载选项。在ASP.NET Core 1.1中,IOptionsSnapshot
是IOptionsMonitor<TOptions>
的快照,并且只要监视器根据数据源更改触发更改,它就会自动更新。在ASP.NET Core 2.0及更高版本中,在请求的生命周期内访问和缓存时,每个请求都会计算一次选项。
您的授权处理程序将取决于选项并根据提供的配置执行其功能。