.NET核心授权模型:需要来自请求的上下文的策略



我刚刚开始研究.NET核心安全模型。它似乎比以前的模型要好得多(我真的很喜欢这个政策想法,IMO的作用非常有限),但文件似乎没有涵盖我想做的事情……我希望我想做什么是可能的,但我不知道是否可能。

我正在构建一个应用程序,用户可以在其中创建"组织",并邀请其他用户加入。相反,用户可以申请加入组织。

组织是应用程序的核心概念;几乎所有的活动都是以组织为中心的,我想建立一个策略,在收到请求时,验证当前用户是否可以访问他或她作为成员所要求的组织资源。我会在每个请求中包含一个组织id。

我看到的问题是,似乎没有任何方法让策略"了解"请求的上下文,以便它可以检查组织id并验证用户是该组织的成员。是否存在这样的机制,或者政策概念是否不适合这种方法?

您可以使用IHttpContextAccessor,将其注入到您想要的位置,并使用它来获取上下文。

在您的Startup.cs:

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

和注射:

public class CustomClass 
{
private readonly IHttpContextAccessor _contextAccessor;
public CustomClass(IHttpContextAccessor contextAccessor) 
{
_contextAccessor = contextAccessor;
}
}

最新更新