如何管理 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 并在任何你想检查的地方检查值 -> 用户是否有权获取此资源。
我正在使用 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 并在任何你想检查的地方检查值 -> 用户是否有权获取此资源。