gpt4 book ai didi

dependency-injection - 从 ASP.NET Core 依赖注入(inject)中获取 ClaimsPrincipal 或 ClaimsIdentity

转载 作者:行者123 更新时间:2023-12-04 04:15:14 24 4
gpt4 key购买 nike

我有一门课有 ClaimsIdentity作为这样的依赖:

public ClaimsIdentityDecorator(ClaimsIdentity identity)



这应该是当前用户的 Claimsidentity。我通过 IHttpContextAccessor 检索它像这样:

services.AddScoped( x=>
{
var context = x.GetService<IHttpContextAccessor>();
return context.HttpContext.User.Identity as ClaimsIdentity;
});

我需要检查用户声明,并且似乎会自动为我注入(inject) ClaimsIdentity 或 ClaimsPrincipal 或其他一些身份对象。从 HttpContext 中检索并自己添加就可以了。但是,如果有另一个对象或接口(interface)对它的声明已经存在,我想设计我的类来接受这种依赖。

另外,我只是想确保这应该在 Scope 级别注入(inject)。

最佳答案

没有内置方式来提供 ClaimsIdentity我知道,但你可能想要AddTransient .如果用户注销,但实例是在请求开始时创建的 AddScoped不会反射(reflect)这种变化。

关于dependency-injection - 从 ASP.NET Core 依赖注入(inject)中获取 ClaimsPrincipal 或 ClaimsIdentity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47184902/

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