【发布时间】:2018-04-17 12:58:45
【问题描述】:
我有一个关于 ASP.NET Core 中的授权控制的问题。所以...如果我有一个像大公司这样的系统,有很多项目和员工。我正在使用令牌访问登录。
用户:
public int Id {get; set;}
public string Name {get; set;}
public ICollection<Project> Projects {get; set;}
项目:
public int Id {get; set;}
public string Name {get; set;}
public ICollection<User> Users {get; set;}
我有一个端点,它将使用其 ID 向我的用户显示项目详细信息:GET ...api/projects/{id}。
我的网站只显示允许用户查看的内容,但是...我想阻止用户直接通过 api url 访问项目信息..
例如:
UserA 只能访问 Project1。但可以直接使用:GET ...api/projects/2 获取 Project2 信息。有没有办法阻止访问?
【问题讨论】:
-
最好的选择是拥有一些令牌发行者,例如 Identity Server。链接:docs.identityserver.io/en/release。有了这个,你可以限制用户在没有经过身份验证和授权的情况下访问资源(API 等)。
标签: c# asp.net-core authorization asp.net-core-webapi