Sí, puede usar Custom Attributes functionality para entidades liferay (en su caso, Usuario) y puede agregar tantos campos adicionales como sea necesario para cada entidad liferay.
El campo personalizado para la entidad de usuario se puede crear a través de: Panel de control -> Portal -> Campos personalizados -> Usuario.
y programáticamente se pueden crear de la siguiente manera:
user.getExpandoBridge().addAttribute("yourCustomFieldKey");
A continuación, establezca el valor como:
user.getExpandoBridge().setAttribute("yourCustomFieldKey", "valueForCustomField");
Si el campo personalizado ya está presente se puede comprobar de esta manera:
if (user.getExpandoBridge().hasAttribute("yourCustomFieldKey")) { ... };
Los datos se almacenan en tablas con el prefijo "EXPANDO":
- EXPANDOCOLUMN: almacena la clave de campo personalizado y otros ajustes (contiene los refrences IDtabla)
- EXPANDODATA: almacena el valor del campo personalizado de la clave (contiene los ColumnID y IDtabla refrences)
- EXPANDOTABLE: tiendas para los que Liferay entidad (usuario) se le añadió el campo personalizado
- EXPANDOROW: tiendas de vincular la información entre un usuario y sus valores (contiene IDtabla y UserId refrences)
Espero que esto ayude.