`
yuhui1988
  • 浏览: 9527 次
社区版块
存档分类
最新评论

liferay关于ldap配置的二三事

阅读更多

公司让我来做生产环境的AD配置。 之前没有接触过,远程连接的服务器,速度慢,搞得我都想吐了。但是还好,基本算是解决了。

需求:开发环境的用户是从AD里拉取回来的。并不是自己添加。我要做的就是在liferay框架上配置参数,实现功能。

之前肯定是在本机上测试过,自己用vm装了server2003,然后配置AD,新建几个测试用户。

在本地上配置,一切OK ,很顺利。带查询资料,共2天完成测试环境的配置。

这里列举一个地址,有兴趣的可以去参考下。

http://book.51cto.com/art/200805/72120.htm 配置AD的详细步骤

https://www.liferay.com/zh/community/wiki/-/wiki/Main/LDAP+with+AD+in+Liferay+6.0.5 liferay外文网站,说得还算具体

 

远程生产环境,和测试环境基本还是雷同的。但是我发现,他的AD用户显示姓名是中文的。当时想其实也无所谓,还是一样的配。最后发现,并没有我想得那么简单,会报这个错误

05:56:14,474 ERROR [PortalLDAPImporterImpl:470] Unable to import user CN=张三: null:null:{cn=cn: 张三}

com.liferay.portal.UserScreenNameException at com.liferay.portal.service.impl.UserLocalServiceImpl.validateScreenName(UserLocalServiceImpl.java:3251)

本以为是自己哪个地方没有配置对,就这样来回得配置,2天就这样浪费掉了。(那边的运维大哥也不给力,真的是整点下班,问事情半天才回,因为配置也需要账号密码,所以需要运维大哥去问用户,这也着实让他累了很久)

最后阅读了很多外文网站,发现其实是liferay的小bug。可以修改portal的包里面的上述  UserLocalServiceImpl的validateScreenName方法。就这样下源码,打jar包,测试,一天多又没了。

又远程到生产环境,发现确实可以了,但是运维大哥说需求是按照工号登录…他们工号就是登录名,好又得改。配置改完后发现又报错,很是纳闷。查了资料发现是不允许纯数字的登录名,需要修改配置。

这里放出配置:

users.screen.name.allow.numeric=true

users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics