用户信息管理的困扰(LDAP 和 SSO)

qiandl 2010-03-24
背景描述:
原先几个项目中的用户信心都是存放在数据库,现在想迁移到LDAP中统一管理(一个专门管理LDAP用户信息的portal)。但是发现一个问题,原来用户信息表中含有一些字段无法存放在LDAP中的情况,比如用户的归属省信息,用户级别(总部或者分公司),用户的归属客户等。并且各个项目都有不同的用户附加信息,并不相同。

想请教大家,在常见的系统构架中,上述的那些信息是否应该存放在LDAP中?
我查看了一些LDAP开源产品,发现其中没有相关的用户属性,是不是需要在LDAP中自定义用户属性?

目前想到解决方法
方法一:上述用户信息存放到LDAP中,对应关系如下:
用户归属省--->Group
用户级别  --->Role
用户归属客户 --> Group
等等。

这样的方法会引入下面的问题:
如果按照此方法实施,管理LDAP用户信息的portal需要要访问其他系统的业务数据库。比如在新增用户的时候要选择归属于哪个客户等等。

方法二:所有的用户信息数据以及关联关系仍然存放在各自业务数据库中,LDAP的用户信息和业务数据库中的用户信息需要实时同步。

但如此实施的话,新建一个账户就需要两个步骤,第一步,在LDAP的管理portal上新建用户基本信息,并同步到业务库中。第二步,到业务系统上完善该用户的其他业务信息。


希望大家多多指点和建议,谢谢。



uuuvvv 2010-03-31
引用
我查看了一些LDAP开源产品,发现其中没有相关的用户属性,是不是需要在LDAP中自定义用户属性?

需要
凤舞凰扬 2010-05-04
  LDAP是可以添加自定义属性的,你所列出的信息都是可以存在LDAP中的。但是,还需要注意一点就是LDAP一般是做统一的用户账户管理,它最好是只包括通用性的用户信息,简单讲,它应该是各个系统信息的子集,而不是并集(至少不是所有系统各自内部的信息都存储在LDAP中)。一个最好的判别就是在LDAP中这些信息是否能够在信息系统中有效利用(对于JEE系统来说,大多都是通过JNDI的方式访问LDAP,传递的查询都是字符串,这种信息的筛选过滤是否有足够的必要?)
Global site tag (gtag.js) - Google Analytics