Cómo hacer desarrollo secundario en liferay
Los métodos de importación son los siguientes:
(Nota: este artículo se basa en las instrucciones de la versión Liferay6.2.1, otras versiones pueden ser ligeramente diferentes)
1, importación LDAP, es decir, almacenamos usuarios en LDAP y permitimos que Liferay importe automáticamente desde LDAP. Para este método, puede consultar el artículo anterior Desarrollo y aprendizaje de Liferay 6 (veintisiete): integración de OpenLDAP y Liferay". ;
2. Escribimos un Portlet en Liferay y llamamos a la API de Liferay para importar.
3. Llamamos a la interfaz WebService de Liferay en un proyecto remoto u otro independiente para importar.
Escribir Portlet para importar
La razón por la que necesitamos crear un Portlet es porque podemos llamar fácilmente a la API de Liferay en el Portlet, crear un nuevo proyecto de Portlet o agregar un Portlet.
UserServiceUtil.addUser(ID de empresa, contraseña automática, contraseña1, contraseña2, nombre de pantalla automática, nombre de pantalla, dirección de correo electrónico, ID de Facebook, ID de apertura, configuración regional, nombre, segundo nombre, apellido, ID de prefijo, ID de sufijo, hombre, mes de cumpleaños, día de cumpleaños, año de cumpleaños, título de trabajo , groupIds. OrganizationIds, roleIds, userGroupIds, sendEmail, serviceContext)
Instrucciones:
1. Es posible que se le solicite permisos insuficientes.
2. Puede utilizar PortalUtil.getCompanyId(solicitud) para obtener el ID de empresa anterior del archivo de contexto.
3. Contraseña automática, generalmente configurada como falsa. Cuando sea verdadero, las contraseñas se generarán automáticamente.
4. Contraseña1 y Contraseña2 son contraseñas y permanecen sin cambios.
5. autoScreenName, generalmente falso;
6. screenName, nombre de pantalla, generalmente una combinación de letras y números. El valor predeterminado no puede ser todos los números. números, puede agregar usuarios.screen.name.allow.numeric=true en el archivo Portal-ext.properties.
7.emailAddress, la dirección de correo electrónico predeterminada es obligatoria. Si el usuario no tiene una dirección de correo electrónico, puede agregar la configuración en segundo plano, users.email.address.required=false, configurada como no. requiere una dirección de correo electrónico.
En este momento, la dirección de correo electrónico se puede pasar como vacía; de lo contrario, se informará un error.
8. facebookId, openId, etc., generalmente son de poca utilidad. Podemos pasar el valor de facebookId como 0l (facebookId es un tipo largo) y openId como ""; p>9, local, dependiendo de la situación específica, este lugar almacena los elementos de idioma y la zona horaria del usuario, ¡nacional! Generalmente, puede usar un valor fijo o tomarlo de la solicitud, PortalUtil.getLocale(request);
10. Los valores de nombre, segundo nombre y apellido son obvios. En términos generales, firstName es un valor obligatorio y los demás valores se pueden pasar vacíos. Transmítalo según la situación real.
11. prefijoId, sufijoId, prefijo y sufijo. Generalmente no los usamos en China, simplemente pasamos el valor como 0.
12. Hombre: si es hombre, pasa verdadero o falso;
13 cumpleañosMes, cumpleañosDía, cumpleañosAño: mes, día, año de cumpleaños, tipo int, aprobado según. a la situación. Si no, puede pasar 1, 1, 1970.
14, título del trabajo, título del trabajo. , título de trabajo, título, etc., pase según la situación, si no, pase "";
15,?0?2groupIds, OrganizationIds, roleIds, userGroupIds: el orden de magnitud del tipo largo, representa respectivamente el sitio al que pertenece el usuario actual, organización, rol, grupo de usuarios, etc. Si no es necesario pasarlo, estará vacío. Si es necesario pasar el tipo de magnitud larga, su valor corresponde. al ID del sitio, ID de la organización, etc. Si no ha iniciado sesión como administrador, pasar un valor aquí (pasar un valor nulo no lo hará) puede causar errores de permiso.
16. sendEmail, si se envía un correo electrónico al usuario, se determina según la situación, generalmente falsa.
17. serviceContext, ServiceContext se puede obtener del archivo de contexto serviceContext = ServiceContextFactory .getInstance(request);
Casos especiales
Por ejemplo, hay un escena ahora, es decir, escribimos una interfaz de registro de usuario nosotros mismos, pero también queremos asociarla con el sitio web u organización correspondiente después del registro. La interfaz anterior debe tener permisos para agregarla. Llame a la siguiente API.
UserLocalServiceUtil.addUserWithWorkflow(creatorUserId, companyId, autoPassword, contraseña1, contraseña2, autoScreenName, screenName, dirección de correo electrónico, facebookId, openId, configuración regional, nombre, segundo nombre, apellido, prefixId, suffixId, hombre, cumpleañosMes, cumpleañosDía, cumpleañosAño , título de trabajo, ID de empresa, contraseña automática, contraseña1, contraseña2, nombre de pantalla automática (cumpleaños, título de trabajo, ID de grupo, ID de organización, ID de rol, ID de grupo de usuario, sendEmail, serviceContext)
En comparación con la API anterior, esta API tiene un parámetro más, a saber, The El primer parámetro, el ID de usuario creado, aquí pasa defaultUser.getUserId().
Usuario defaultUser = UserLocalServiceUtil.getDefaultUser(companyId);
Otros parámetros no son diferentes de los anteriores Cuando utiliza este método para agregar un sitio web, etc., no es necesario. tener los permisos correspondientes.