ASP.net Core Identity Complex要求身份验证

时间:2018-12-01 14:06:31

标签: c# asp.net-core asp.net-core-identity asp.net-authorization

我必须为我的ASP.NET CORE MVC Identity 2.1应用程序创建一个身份验证和授权环境,并使用API​​后端和IdentityServer4作为授权服务器)。

  1. 我有管理员
  2. 我有项目。
  3. 除管理员外,每个用户都必须至少参与一个项目。

我会给用户一个“角色”之类的声明,并在其中存储“ admin” /“ user”之类的内容。

现在变得更加复杂。

  1. 在每个项目中,用户具有不同的角色,子角色以及子角色的子角色(因此又分为三层)。

目前,我通过使用动作过滤器解决了该问题,并将其写在每个控制器/方法的前面(我认为它们合适)。我还为这三个层创建了表,以便可以存储哪个用户位于哪个层中(当然,它们取决于此用户具有不同的访问权限)。

我还希望用户能够同时打开多个项目(在不同的浏览器选项卡中),以便他们可以根据需要在这些项目之间进行切换。我目前通过在URI中的每个请求上发送项目ID来解决此问题。

我考虑过使用声明代替当前的动作过滤器解决方案。我从中读了很多书,并观看了有关该主题的Microsoft Virtual Academy视频。但是我不明白如何在这种情况下使用它。我是否应该提出要求要求并从我的操作过滤器中复制代码,因为默认情况下声明标识无法处理我的案件?

我这样做完全错误吗?

0 个答案:

没有答案