【问题标题】:Asp.net Roles Web Api check annotation "authorize" programmaticallyAsp.net Roles Web Api 以编程方式检查注释“授权”
【发布时间】:2017-12-15 18:53:52
【问题描述】:

我需要在调用之前检查当前登录的用户是否可以使用控制器方法。 埃斯: 我以 USER (group:users) 身份登录,我想检查我是否有权调用带有注释的“delete()”方法:“[Authorize(Roles='Users')]”

有办法解决这个问题吗? 提前致谢。

【问题讨论】:

  • 你到底想达到什么目的?因为 Authorize 注释正是这样做的。如果您使用不在“用户”角色中的用户调用它,该方法将返回 401 - 未授权
  • 我需要在打电话之前检查一下!我需要这个来创建链接或不...

标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-identity


【解决方案1】:

您可以使用 UserManager 来检查用户是否属于给定角色。

ApplicationUser user = await UserManager.FindByEmailAsync(model.Email);
if (UserManager.IsInRole(user.Id, "Users"))
{
    // Do something.
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2018-11-20
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多