我正在使用.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中,索赔类型为角色,但对我而言并非如此。 任何帮助表示赞赏。提前谢谢!
答案 0 :(得分:0)
原来,配置没有问题。在使用用户名登录用户时,我创建了一个新的User对象来登录。 我应该做的是 - 使用用户名从DB获取用户对象并使用该对象登录。
希望这可以帮助那些偶然发现类似问题的人。