如何管理 Grails 应用程序中的角色明智功能(自定义授权)

How to manage the role wise functionalities in grails application (custom authorization)

我正在使用 Grails 框架开发应用程序。我想允许用户根据他们的角色和授予这些角色的权限访问应用程序。 Spring 安全性只能提供高级安全性。这不足以完成我的任务。但是在这里我想动态地管理权限。 请建议任何最佳方法来做到这一点。 假设在应用程序中采用 Reprint 功能。作为管理员将根据他们的角色决定谁可以访问,谁不能访问。 提前致谢

Spring 安全性提供基于角色的功能,它不是动态的或管理员或任何超级用户,您不能允许/拒绝动态地向特定用户访问特定事物。

但您可以创建自定义授权工作流程。 假设您的数据库中有 'user' table,在此 table 中,您可以将一列创建为 'authorization' 作为字符串/varchar 数据。

做一个JSON如下(举例)

[ "resource1":{
   "canView" : true,
   "canEdit" : false,
   "canDelete" : false
  },

 "resource2":{
   "canView" : true,
   "canEdit" : true,
   "canDelete" : true
  }
]

根据您的要求创建/构建此 JSON,这只是一个示例。 将其作为字符串存储在数据库中,在从后端获取后将其转换(String 到 JSON)动态操作其值(管理员将更改),再次转换为字符串并更新它,获取并转换为 JSON 并在任何你想检查的地方检查值 -> 用户是否有权获取此资源。