我迷失在所有可以管理用户可以做什么和不能做什么的选项中。我从角色开始:[Authorize(Roles = Constants.Roles.ModeratorAndUp)]
. 其中 ModeratorAndUp 是 string "Moderators, Administrators"
。
但我需要更灵活的方法。在过去的 3 个小时里,我正在阅读有关索赔和许可的信息。我还发现了这篇有趣的博客文章。
我将 Angular 和 ASP.NET Core 与通用模板一起使用。对于身份验证,我使用OpenIddict。我跟着一本书。
我想使用 JWT 令牌进行授权和身份验证。我不知道在 .NET Core 中应该如何处理权限,但我有 100 个不同的角色,而且完全一团糟。而且当我创建新用户时,我需要手动添加大约 20 个角色。如果我可以创建具有角色/权限的组,然后将用户添加到该组,那就太好了。但是不知道这个设计将如何与 OpenIdDict 和 JWT 令牌授权一起使用。
有人可以指出我正确的方向,然后我会自己研究。
我不确定我是否应该构建一些系统来在我更改组权限/角色时自动更新用户角色,我是否应该使用声明......我想使用[Authorize]
属性,因为它确实简化了事情。
什么/如何/哪个是在 ASP.NET Core 中进行 JWT 令牌身份验证/授权的最佳实践。