gpt4 book ai didi

c# - 回退策略日志授权事件

转载 作者:行者123 更新时间:2023-12-04 07:54:56 25 4
gpt4 key购买 nike

有可能提高FallbackPolicy无需创建我自己的授权事件AuthorizationHandlerAuthorizationFilter ?理想情况下我想提高 OnTokenValidatedOnAuthFailure事件并相应地记录。

public void ConfigureServices(IServiceCollection services)
{
services.AddMicrosoftIdentityWebApiAuthentication(Configuration);

services.AddControllers();

services.AddAuthorization(options =>
{
options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();

});

// ..
}

最佳答案

FallbackPolicy当没有 IAuthorizeData 的实例时使用(例如来自 AuthorizeAttribute )与任何资源相关联,并且仅由 AuthorizationMiddleware 使用.我认为触发像 OnAuthFailure 这样的事件会令人困惑。或 OnTokenValidated在这种情况下,如你所愿。但那是你的部分。在这里,我只想展示您可以注入(inject)代码以引发您想要的事件的一点。实际上它只是一种内联授权处理程序,您可以在构建回退策略时使用 AuthorizationPolicyBuilder 指定代码, 像这样:

options.FallbackPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.RequireAssertion(context => {
//here you can inject your code
//return true/false to make the requirement valid/invalid
//for logging purpose, we can return true here
return true;
}).Build();

关于c# - 回退策略日志授权事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66756249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com