我们正在开发一个带有ASP.NET Web Api 2 REST API的AngularJS单页应用程序。我们正在使用OWIN中间件和OAuth。Web Api 2&OWIN:针对客户端授权用户
我们的系统由客户端和用户的:
- 客户是组织/公司。
- 用户是这些公司的雇员。 用户属于客户端。
目前,我们使用在每一个控制器的以下检查:
[Route("api/clients/{clientId}/orders/{orderId}")]
public IHttpActionResult GetOrder(int clientId, int orderId)
{
if(UserComponent.GetUser(User.Identity.Name).ClientId != clientId)
{
return NotFound();
}
// Get order
return Ok(orderModel);
}
参见下面序列的更多细节(参照图):
获取的令牌为用户(也返回clientId)。
访问客户端资源。用户/客户端授权:
a。用户被授权访问客户端资源,或者
b。用户无权访问客户端资源。
本质,从客户端A的用户应该能够访问从客户B.
什么是授权对客户资源的用户的最佳途径的资源?
我们可以以某种方式推迟到OWIN(也许通过使用声明)吗?
究竟会在哪里授权码去? – davenewza 2015-01-21 09:34:09
我编辑了我的答案以提供更多详细信息。 – 2015-01-21 09:55:05