Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用自定义存储提供程序检查具有[Authorize]属性的角色的代码是什么?_C#_Asp.net Mvc_Asp.net Core_Asp.net Identity_Asp.net Roles - Fatal编程技术网

C# 使用自定义存储提供程序检查具有[Authorize]属性的角色的代码是什么?

C# 使用自定义存储提供程序检查具有[Authorize]属性的角色的代码是什么?,c#,asp.net-mvc,asp.net-core,asp.net-identity,asp.net-roles,C#,Asp.net Mvc,Asp.net Core,Asp.net Identity,Asp.net Roles,我以前问过一个问题,但没有得到帮助我理解如何工作的答案,所以我将尝试以不同的方式问这个问题 假设我为ASP.NET Core 2.2实现了一个自定义存储提供程序,那么我的实现中有哪些代码允许[Authorize]属性检查用户是否具有角色?例如,如果某个操作具有[Authorize(Role=“Manager”)],则根据属性中的“Manager”值,进入数据库中自定义tblRoles的代码是什么 要明确的是,我并不是要求访问数据库并检查用户是否有角色的特定逻辑。我在问,这种逻辑会是什么 对我来说

我以前问过一个问题,但没有得到帮助我理解如何工作的答案,所以我将尝试以不同的方式问这个问题

假设我为ASP.NET Core 2.2实现了一个自定义存储提供程序,那么我的实现中有哪些代码允许
[Authorize]
属性检查用户是否具有角色?例如,如果某个操作具有
[Authorize(Role=“Manager”)]
,则根据属性中的
“Manager”
值,进入数据库中自定义
tblRoles
的代码是什么

要明确的是,我并不是要求访问数据库并检查用户是否有角色的特定逻辑。我在问,这种逻辑会是什么

对我来说,它似乎应该在
CustomRoleStore
类中,但除非我显式调用它们,否则那里的方法永远不会执行。如果我需要显式地调用它们,那么为什么我需要一个
CustomRoleStore
?我也可以创建自己的服务来处理每个操作的用户授权,而不使用标识使代码复杂化


很抱歉,这个问题到处都是,但我觉得我缺少了关于Identity如何处理授权的一些关键点,而且很难知道确切地问什么来获得理解。

我做了更多的研究,发现了一系列很棒的教程:

在中,解释了
[Authorize]
属性中的
角色。
[Authorize]
属性使用角色值,并简单地将其与身份的角色声明进行比较

据我所知,事实就是这样,自定义存储提供程序的实现与此没有直接关系