我对Liferay有疑问。
我使用Liferay + Jasig CAS身份验证和OpenLDAP配置了我的系统。 我可以正确验证我的用户,我可以从LDAP导入用户帐户(Ldap导入)。
我还将用户导出配置为OpenLDAP..so,现在我可以在创建时导出帐户。 事实上,我可以在我的OpenLDAP服务器中看到这个新帐户。
当Liferay创建一个新帐户时,它会为这个新帐户生成一个随机密码(例如4hdsdsh),并且用户会在注册后收到一封电子邮件。
问题是:我的OpenLDAP服务器这个密码似乎不等于Liferay刚生成的密码。 因此,新用户永远无法对我的Liferay进行身份验证(因为我使用CAS + LDAP)。
我还发现了一个有趣/奇怪的事情:如果我在Liferay中修改这个新密码(使用管理员帐户),我会在OpenLDAP服务器中正确看到此密码,因此,用户最终可以登录我的Liferay ..
答案 0 :(得分:1)
我不确定但是在用户注册时它似乎只是导出用户在注册屏幕中输入的字段,并且由于密码是在注册后自动生成的,因此它不会导出到LDAP并且可能为空,直到用户未更新他登录的密码。
您可以调试此类PortalLDAPExporterImpl.Java,还可以通过jxplorer在LDAP中查看用户详细信息,其中包含密码&用户状态。如果密码为空,您可以扩展类和逻辑,以便为首次传递自动生成或默认密码。
答案 1 :(得分:0)
这是Liferay的错误: