启动后插入 OWIN 中间件组件
Plugging a OWIN middleware component after startup
如何在 Startup class 之外插入 OWIN 中间件?
我有这个 OWIN 中间件,它基本上为传入请求设置了一个身份验证端点。在我们的开发周期中,我们注意到几次远程元数据端点(基于 ADFS)发生故障,这会导致在尝试在应用程序启动时配置中间件时出现异常。
但是,即使中间件启动失败,我们也想让应用程序启动,并在稍后尝试初始化中间件。我如何在无法访问 'IAppBuilder' 界面的情况下执行此操作。
我使用 Katana 中的预构建中间件通过以下方法调用进行 ADFS 端点设置 -
app.UseActiveDirectoryFederationServicesBearerAuthentication(
new ActiveDirectoryFederationServicesBearerAuthenticationOptions
{
MetadataEndpoint = ConfigurationManager.AppSettings["ida:AdfsMetadataEndpoint"],
TokenValidationParameters = new TokenValidationParameters()
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
}
});
OWIN 基础结构未设计为在执行启动代码后在运行时进行修改。有关详细信息,请参阅 Is it possible to add WsFederationAuthenticationOptions at runtime? 讨论。
如果您在特定中间件失败时遇到问题,请尝试将其包装在自定义的假实现中并手动处理(失败?)初始化。
查看与此相关的其他相关 SO 线程:
register new middleware to OWIN pipeline at runtime without restart application
如何在 Startup class 之外插入 OWIN 中间件?
我有这个 OWIN 中间件,它基本上为传入请求设置了一个身份验证端点。在我们的开发周期中,我们注意到几次远程元数据端点(基于 ADFS)发生故障,这会导致在尝试在应用程序启动时配置中间件时出现异常。 但是,即使中间件启动失败,我们也想让应用程序启动,并在稍后尝试初始化中间件。我如何在无法访问 'IAppBuilder' 界面的情况下执行此操作。
我使用 Katana 中的预构建中间件通过以下方法调用进行 ADFS 端点设置 -
app.UseActiveDirectoryFederationServicesBearerAuthentication(
new ActiveDirectoryFederationServicesBearerAuthenticationOptions
{
MetadataEndpoint = ConfigurationManager.AppSettings["ida:AdfsMetadataEndpoint"],
TokenValidationParameters = new TokenValidationParameters()
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
}
});
OWIN 基础结构未设计为在执行启动代码后在运行时进行修改。有关详细信息,请参阅 Is it possible to add WsFederationAuthenticationOptions at runtime? 讨论。
如果您在特定中间件失败时遇到问题,请尝试将其包装在自定义的假实现中并手动处理(失败?)初始化。
查看与此相关的其他相关 SO 线程:
register new middleware to OWIN pipeline at runtime without restart application