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