身份和使用角色和策略授权问题

时间:2018-12-28 03:08:55

标签: c# asp.net-core asp.net-core-identity

这是我第一次实现身份验证,并且遇到了Roles问题。 我已经创建了两个角色(用户和超级用户)。在启动时,我定义了策略的(基本,超级)。

在数据库中,用户具有正确的角色,但是当我执行User.IsInRole(“ User”)时,我得到了错误。

在登录class属性后,[Authorize]也会导致重定向到登录。

已创建cookie,因此可以正常登录。

enter image description here 我还需要配置其他部分吗?

opt.Authorization(optn => 
                        {
                            optn.AddPolicy("Basic", p => 
                                {
                                    p.RequireRole("User");
                                });
                            optn.AddPolicy("Super", p => 
                                {
                                    p.RequireRole("User");
                                    p.RequireRole("SuperUser");
                                });
                        });

[HttpPost]
public async Task<IActionResult> SignIn([FromForm] string email, [FromForm] string password)
{
    var tmp = await this.SignInManager.PasswordSignInAsync(email, password, false, false);
    string url = tmp.Succeeded ? Url.Action("Index", "Secure") : Url.Action("Index", "Assets", new { Error = 1 });

    return RedirectPermanent(url);
}
  

更新我以错误的顺序调用app.UseAuthentication()。什么时候   在UseMVC之前运行UseAuthentication

0 个答案:

没有答案