【问题标题】:Resource Specific Authorization in ASP.NET MVC 6ASP.NET MVC 6 中的资源特定授权
【发布时间】:2015-10-12 08:02:40
【问题描述】:

我想在我的授权策略中使用一个资源(在这种情况下为User 对象)并且我有类似的东西。

public class CountryAuthorizationHandler : 
          AuthorizationHandler<OperationAuthorizationRequirement, User> 
{   
    protected override void Handle(AuthorizationContext context,  
               OperationAuthorizationRequirement requirement, User user)
    {   
        if(context.User.HasClaim(ClaimTypes.Country, user.Country))
               context.Succeed(requirement);
    }   
}

我认为我不能通过Authorize 以声明方式使用它,但我如何在我的控制器操作方法中强制使用它,例如,我的User 对象在哪里?任何代码示例或链接将不胜感激。

【问题讨论】:

  • 如果您的授权仅基于用户声明,您可以使用Authorize 属性。 [Authorize(Policy = "MyPolicy")]
  • @Mike Wasson Authz 基于用户和资源。这就像管理员用户编辑用户的场景,规则是一个国家的管理员只能编辑自己国家的用户。我需要对照资源所在国家/地区(在本例中为用户)检查委托人的国家/地区声明。
  • 创建了一个新问题github.com/aspnet/Security/issues/515
  • 知道了。您的问题可能是github.com/aspnet/Security/issues/494 的重复(尽管您的问题描述更完整!)

标签: c# authorization asp.net-core asp.net-core-mvc


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-10
  • 2013-08-18
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多