用户信息管理的困扰(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,传递的查询都是字符串,这种信息的筛选过滤是否有足够的必要?)
|