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

时间:2018-03-25 09:37:17

标签: grails3

我正在使用Grails框架开发应用程序。我想允许根据用户的角色和授予这些角色的权限访问应用程序。 Spring Security只能提供高级别的安全性。这对我的任务来说还不够。但在这里我想动态管理权限。 请建议任何最好的方法来做到这一点。 假设在应用程序中采用重新打印功能。作为管理员将决定谁可以访问谁谁不能基于他们的角色。 在此先感谢

1 个答案:

答案 0 :(得分:1)

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

但您可以创建自定义授权工作流程。 假设你有“用户”#39;在您的数据库中,您可以在此表中创建一列作为授权'作为字符串/ varchar数据。

按如下方式制作JSON(例如)

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

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

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