关于LDAP统一身份认证和本地数据库的关系
描述:
我们项目用到了LDAP统一身份认证,LDAP服务器上有用户名和密码。此外,我们也考虑用户不用LDAP的情况,那么他也可以直接在本地数据库注册账号使用。
使用LDAP是无法从我们的系统注册的,只能直接在LDAP服务器上新增账号;然后用户用LDAP账号登录本系统的时候,在系统数据库添加这条用户信息,因为在本系统中用户还有不同的权限。
问题:
1、如果LDAP服务器上的用户名与我们系统注册的用户名相同怎么办?
我们目前的解决方案是,给系统的user表添加属性(ldap),如果该用户是从LDAP得到的,属性值为1;如果是在系统注册的,属性值为0.(在本系统注册的用户不会被写到LDAP服务器里)。这样可以允许LDAP和本系统注册用户之间有重名。
2、按照如上解决方案,如果LDAP上用户名apple密码123,在本系统也有注册用户名apple密码123。该LDAP的apple用户恶意选择本系统登陆,那么就可以用它的账号登陆本系统用户。不知道如何解决该问题,请高手指教!!!