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

时间:2017-01-16 00:24:51

标签: c# security asp.net-core-mvc .net-core asp.net-authorization

我刚刚开始研究.NET Core安全模型。它似乎远比以前的模型更好(我真的喜欢政策理念,角色非常限制IMO)但文档似乎并没有涵盖我想做的事情......我希望我能做什么我喜欢这样做,但我不知道是不是。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

在你的Startup.cs中:

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

注射:

public class CustomClass 
{
     private readonly IHttpContextAccessor _contextAccessor;

     public CustomClass(IHttpContextAccessor contextAccessor) 
     {
           _contextAccessor = contextAccessor;
     }
}