Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
Asp.net Web Api 2订阅授权_Asp.net_Asp.net Identity_Asp.net Web Api2_Asp.net Identity 2 - Fatal编程技术网

Asp.net Web Api 2订阅授权

Asp.net Web Api 2订阅授权,asp.net,asp.net-identity,asp.net-web-api2,asp.net-identity-2,Asp.net,Asp.net Identity,Asp.net Web Api2,Asp.net Identity 2,在我们的Web Api 2系统中,用户属于以下订阅: public class ApplicationUser : IdentityUser { public Guid SubscriptionId { get; set; } } 用户只能从其所有者订阅中查看数据。如果用户不属于订阅,则应返回未经授权的响应401 示例请求可以是这样的: api/v1/subscriptions/{subscriptionId}/projects/ 我们目前正在根据实体框架6和ASP.NET Iden

在我们的Web Api 2系统中,用户属于以下订阅:

public class ApplicationUser : IdentityUser
{
    public Guid SubscriptionId { get; set; }
}
用户只能从其所有者订阅中查看数据。如果用户不属于订阅,则应返回未经授权的响应401

示例请求可以是这样的:

api/v1/subscriptions/{subscriptionId}/projects/
我们目前正在根据实体框架6和ASP.NET Identity 2使用基于令牌的身份验证

针对订阅授权用户的最佳方式是什么


我可以创建一个自定义授权筛选器,但从URL检索当前登录用户和订阅ID是否会很混乱?

在您的控制器中,您是否只是返回IQueryable?如果是这样的话,难道不能对当前用户进行筛选,使其只返回他们有权查看的数据吗?或者,如果他们请求未经授权的订阅,您想返回未经授权的响应吗?@snow_FFFFFF:我想返回未经授权的响应。将编辑问题-谢谢。这有点离题,但我所有的web api工作都是使用odata端点的。在odata控制器中,我可以将ODataQueryOptions添加到GET中,并非常容易地分离请求,而不需要实际的字符串解析。我不确定您是否正在使用odata—如果没有,您可以使用类似的方法来获取需要检查的值。