我有:Users, Groups, Roles, Permissions, UserRoles, UserGroups, GroupRoles, RolePermissions, GroupPermission
。
权限看起来像这样:
Document.Read
Document.Create
Document.Update
Document.Delete
在管理面板中,这些权限被分配给在那里创建的组/角色
It is necessary to make authorization by permissions
。现在的想法是:有一个身份验证/授权服务,该服务具有LogIn方法,该方法将提供JWT令牌供其他微服务和客户端使用
但是如何自己存储许可证?事实证明,如果我们将它们作为静态字符串存储在授权api上,则在执行其他其他CheckAccess ("PermissionName")
的api时,我们会丢失“类型安全性”并可能搞砸。
如果您在每个单独的微服务上存储权限,则此问题消失,但是存在将这些权限注册到数据库中并将它们分配给角色/组的问题。
我当然很想在服务中写上CheckAccess (Permissions.Document.Read)
也许有一种方法可以动态地在api方法上动态挂起各种权限?
或者也许我从根本上想错了?