使用Identity在.net core 2.0中进行角色授权

时间:2018-01-24 08:33:27

标签: authorization asp.net-identity asp.net-core-2.0

我正在使用.net core 2.0并尝试在mvc网站中使用asp身份进行授权。 (使用Google OAuth进行身份验证)。

身份验证工作正常,即用户可以通过谷歌登录后访问控制器/视图。但是,当我尝试向特定控制器添加角色(" Admin")时,我未经授权。

设置参考:https://github.com/TahirNaushad/Fiver.Security.AspIdentity/ DB:MySql

以下是我的启动配置:

[assembly: CompilationRelaxations(8)]

使用角色授权:

git config --global color.status.header yellow

注意:1。AspNetUsers,AspNetRoles和AspNetUserRoles中存在条目 2.我在网上查了一下,发现角色应该出现在Principal.Claims中,索赔类型为角色,但对我而言并非如此。 任何帮助表示赞赏。提前谢谢!

1 个答案:

答案 0 :(得分:0)

原来,配置没有问题。在使用用户名登录用户时,我创建了一个新的User对象来登录。 我应该做的是 - 使用用户名从DB获取用户对象并使用该对象登录。

希望这可以帮助那些偶然发现类似问题的人。