我正在开发一个由不同域组成的Web应用程序。我试图实现分层RBAC授权。每个域在其bo实现中都有一些预定义的操作。以下是我的bo包层次结构。
com.mycompany.bo
... DOMAIN1
... DOMAIN2
。
... domainN
... RBAC
我在第一次部署时预定义了以下角色,我不想在第一次部署后维护rbac操作,我的意思是域rbac操作应该由域管理员自行维护。
Root
Domain1Admin Domain2Admin .. DomainNAdmin
root角色可以授权bo实现下的所有操作,并且每个域管理员也可以授权其所有自己的操作和一些rbac操作,如创建用户,编辑用户,创建角色等。
最后,我开发了项目的ui部分,它遵循facelet工具,比如include标签,这样我就能分辨出页面的ui片段。因此,我可以根据用户是否有权查看片段来呈现ui片段。 对系统授权设计的任何建议都会有所帮助。
现在,我来到了项目的认证部分。在该系统中,用户不仅在内部进行认证,而且还应该通过web服务或ldap在外部系统上进行认证,因为用户可能已经在那里创建。
Spring框架通过ldap(在xml中静态配置)提供一些工具认证。在我的例子中,我想在运行时添加删除编辑新的LDAP定义,并可以更改用户身份验证方法(可能是从组合框中选择新的LDAP)。 如何在Spring中动态添加新的LDAP定义,我是否应继续使用Spring安全性或实现此功能?