我正在使用Grails框架开发应用程序。我想允许基于用户的角色和授予这些角色的特权来访问应用程序。Spring Security只能提供高级安全性。这不足以完成我的任务。但是在这里,我想动态地管理特权。请提出执行此操作的最佳方法。假设在应用程序中具有重印功能。成为管理员将根据他们的角色来决定谁可以访问和谁不能访问。提前致谢
Spring Security提供了基于角色的功能,该功能不是动态的,不是管理的,也不是您不允许/拒绝特定用户动态访问特定事物的超级权限。
但是您可以创建自定义授权工作流程。假设您的数据库中有“用户”表,则可以在此表中将“授权”一列创建为字符串/ varchar数据。
按如下所示制作JSON(例如)
[ "resource1":{
"canView" : true,
"canEdit" : false,
"canDelete" : false
},
"resource2":{
"canView" : true,
"canEdit" : true,
"canDelete" : true
}
]
根据您的要求创建/构建此JSON,这只是一个示例。从后端将其存储为字符串存储在数据库中(从后端取回(从String转换为JSON)后将其转换为动态值(管理员将更改),再次转换为字符串并对其进行更新,获取并转换为JSON并在需要检查的地方检查值->用户是否有权访问此资源。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句