情况:
我正在为我的公司编写一个服务应用程序,由于固定角色不适合我的情况,我想建立对我的 API 服务的基于 ACL 的访问。
模型和数据库端不是我的问题。
问题:
我将如何重新部署在身份验证(JWT 和凭据)之后但在我的服务(获取、发布等)之前运行的请求过滤器,该服务确定是否允许用户调用该操作(在此过滤器中,我将检查我的 ACL 和允许或拒绝返回)。
我不需要交 key 解决方案,但非常欢迎提出建议!
详细信息:角色和用户在实现时不存在。在我的前端中,我想创建角色和用户(如 Windows 或类似的)并动态分配权限。角色和用户的权利可能会改变。甚至角色也可以删除并由其他人替换。
最佳答案
这听起来像是您只想 validate permissions所以如果适合您的用例,我会使用内置的 [RequiredPermission]
或 [RequiresAnyPermission]
属性。
否则我的首选方法是使用声明性的 Request Filter Attribute 来实现任何 ACL这也是内置 AuthenticateAttribute.cs 的方式已实现但具有负 Priority
,因此它们将在任何默认具有 Priority=0
的自定义过滤器属性之前执行。
关于c# - Servicestack 中基于 ACL 的 API 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782607/