首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web 2& OWIN:针对客户端授权用户

Web 2& OWIN:针对客户端授权用户
EN

Stack Overflow用户
提问于 2015-01-21 07:01:18
回答 1查看 1.1K关注 0票数 1

我们正在使用AngularJS Web 2 REST开发一个ASP.NET单页应用程序。我们正在使用OWIN中间件和OAuth。

我们的系统由客户和用户组成:

  • 客户是组织/公司。
  • 用户是这些公司的雇员。用户属于客户端.

目前,我们正在每个控制器中使用以下签入:

代码语言:javascript
复制
[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);
}

有关更多细节,请参见下面的顺序(参见图表):

  1. 为用户获取一个令牌(还返回clientId)。
  2. 访问客户端资源。用户/客户授权: 授权用户访问客户端资源,或 b.用户无权访问客户端资源。

从本质上讲,客户端A的用户不应该能够从客户端B访问资源。

什么是针对客户端资源授权用户的最佳方法?

,我们是否可以将其推迟到OWIN (也许通过使用索赔)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 09:17:57

声明是一个很好的选择,因为您可以发送带有令牌的clientId,并将其与每个请求一起发回,然后您可以根据数据存储来使用clientId检查用户,并验证用户对资源的访问,例如,可以通过过滤器进行访问。

对于用户请求的授权,从AuthorizeAttribute继承的自定义授权属性可以完成这项工作,您可以使用该属性来修饰操作,这将在操作之前运行,并根据clientid +资源授权用户,如果用户没有访问权限,则返回401 (未授权)。

请检查此问题,以了解有关自定义授权属性ASP.NET MVC 4 Custom Authorize Attribute with Permission Codes (without roles)的概念

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28061352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档