ASP.NET Core 身份(基于角色的授权)

问题描述 投票:0回答:1

我正在尝试适应 ASP.NET Core MVC,但我在用户角色方面遇到了问题。

我成功注册admin角色账号后,但是调试时,下面这行代码返回null

var userRoles = await userManager.GetRolesAsync(user); // returns null

并且条件总是返回 false:

<ul class="nav navbar-nav">
    <li><a href="/Dashboard/Display">Dashboard</a></li>
    @if (User.IsInRole("admin"))
    {
        <li><a href="/Admin/Display">Admin Page</a></li>
    }
    <li><a href="/UserAuthentication/Logout">Log Out</a></li>
</ul>

我不知道我错在哪里,有人可以帮助我吗?

来源:https://github.com/tuantv3012/HotelManagement

asp.net-core-mvc asp.net-core-identity user-roles
1个回答
0
投票

此问题的根本原因是您缺少将数据插入到 dbo.AspNetUserRoles 表中。

您可以从 db.AspNetUsers 表复制 userid,并从 dbo.AspNetRoles 表复制特定测试用户的 roleid。重新登录进行测试。

如果有效,请尝试在

ResgistrationAsync
方法中添加更多关于地图useid和roleid的逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.