我必须为我的ASP.NET CORE MVC Identity 2.1应用程序创建一个身份验证和授权环境,并使用API后端和IdentityServer4作为授权服务器)。
我会给用户一个“角色”之类的声明,并在其中存储“ admin” /“ user”之类的内容。
现在变得更加复杂。
目前,我通过使用动作过滤器解决了该问题,并将其写在每个控制器/方法的前面(我认为它们合适)。我还为这三个层创建了表,以便可以存储哪个用户位于哪个层中(当然,它们取决于此用户具有不同的访问权限)。
我还希望用户能够同时打开多个项目(在不同的浏览器选项卡中),以便他们可以根据需要在这些项目之间进行切换。我目前通过在URI中的每个请求上发送项目ID来解决此问题。
我考虑过使用声明代替当前的动作过滤器解决方案。我从中读了很多书,并观看了有关该主题的Microsoft Virtual Academy视频。但是我不明白如何在这种情况下使用它。我是否应该提出要求要求并从我的操作过滤器中复制代码,因为默认情况下声明标识无法处理我的案件?
我这样做完全错误吗?