Asp.Net不能使用使用角色授权

时间:2018-07-15 12:31:33

标签: asp.net roles authorize

我正在使用Asp.Net编写一些API,但在使角色授权起作用时遇到了问题。

这里是我的代码的一部分,只是为了重现问题:

    [Route("AddAdminRole")]
    public async Task<IHttpActionResult> AddToAdminRole(string userName)
    {
        // get the currently logged user
        var currentUser = await _userManager.FindByNameAsync(
                                    HttpContext.Current.User.Identity.Name);
        // check if it's an Admin
        var isInRole = _userManager.IsInRole(currentUser.Id, "Admin");

       // do stuff

        return Ok();
    }

当我通过具有Admin角色的用户进行身份验证时,isInRole为true。当我通过标准用户身份验证时,isInRole为false。这当然是预期的结果。

现在,如果我添加以下装饰:

[Authorize(Roles = "Admin")]

并以管理员身份登录并尝试使用该API,但出现错误“该请求的授权已被拒绝”。

我做错了什么? 谢谢 大卫

0 个答案:

没有答案