我有一个基于Spring MVC的应用程序,它使用Hibernate来处理所有数据库交互需求。现在需要更新应用程序以使用我们的LDAP基础结构来驱动用户信息,包括基本用户数据(如姓名和电子邮件)以及身份验证和授权需求。如何用Spring Security,Spring LDAP和Hibernate处理用户信息?
既然一切都已经在一个地方(在DB)到现在为止,该报告是相当简单的,因为Hibernate是信息检索管理需要与所需的查询启动时。抓取用户的名字等非常简单,因为Hibernate懒惰地加载数据。
随着驱动与LDAP用户信息的欲望,Hibernate将不再能够填充在飞行中的用户信息,因为它不会是管理用户的数据。当我们需要抓取用户数据如姓名等时,我们应该如何使用LDAP来驱动用户数据并处理认证/授权,而不会造成太大的痛苦?
我们已经使用其中LDAP被视为“源”为数据和当前系统被保持原样混合方法考虑。这将需要更改事务处理代码以根据LDAP进行更新,以便实时事务使用最新信息,并且还需要与LDAP进行定期同步,以使应用程序数据库保持最新以用于报告目的。
该解决方案似乎有点哈克,而且似乎有很多运动部件的,但我找不到太多关于这个问题在网络上的其他地方。
应该如何用户信息处理/应该如何应用结构化,让所有的用户信息仍然很方便,可以很容易地捆绑到系统的其余部分用于报告的目的呢?有没有一种方法可以集成Spring LDAP和Hibernate,使数据层以上的层不必知道?或者将LDAP中的信息拉入现有数据库是最简单的方法?
您的数据模型是否有任何对用户的引用,以至于您仍然需要用户数据库实体? – Ralph
@Ralph - 是的,其他实体连接到特定用户(例如,用户X采取了行动Y)。 – cdeszaq