[Liferay] Liferay 批量添加 User

来源:互联网 发布:单片机ad如何采样电流 编辑:程序博客网 时间:2024/04/30 20:54

liferay version : liferay-portal-6.1.1-ce-ga2server : tomcat 7.0.25jdk : jdk1.7.0_51

为了避免手动添加大量 User 数据

需要实现批量形式一次性添加一定数量的 User

起初实现思路如下

 优势劣势手写 SQL 语句录入数据库不需要部署任何应用,直接对数据库里的数据表进行添加操作

  1. 直接操作 SQL 语句,得考虑 User 添加会影响到的几个数据表,最少是包括 User_ 以及Group_。
  2. 添加一个用户时,得同时需要分别为这两表录入数据。如果是 200个用户,那至少是 200 条 SQL 语句。
  3. 默认添加 User 时,每个 User 的 userId 是 counter 表里对应的 counterId 不断 increment 的结果,目前我不知道怎么在 SQL 语句里实现 counterId
开发 Hook 插件不需要考虑添加 user 时到底是会影响到几个数据表,这些数据表是什么关系,只需调用 Liferay 提供的 API,通过 API 传入 自定义 user 属性即可
  1. 需要部署插件,如不手工卸载,则插件完成功能之后一直留在 WEBAPP 中
  2. 需要文件用来保存用户想添加的 User 属性,XML 格式 或是 properties。
  3. 如果该文件保存在 Hook 插件中,得需要用户在部署 Hook 之后,在 WEBAPP 相应目录找到该文件,并添加 User 属性
  4. 当然可以把文件保存在某个特定目录,比如 %tomcat%/user_sample_data, 这就需要 Hard code

由于上述两点各有优劣,所以经过一些搜索研究,决定使用第三种方式,

开发简单的 java 程序,通过调用 Liferay web service 添加用户,能综合上述两种方式的优势。


操作流程包括:
1. 修改 excel 文件,添加所有需要添加的用户属性




2. 修改 user-import-settings.properties

username=testpassword=testhost=localhostport=8080file=E:/my-work/liferay-plugins/user-importer

3. 运行 usersImport.bat


4. 打包内容包括源码,以便互相交流


是不是不能上传附件

下载地址


1 0
原创粉丝点击