掲示板
Come creare un utente specificando un determinato UserID?
9年前 に dario borsotti によって更新されました。
Come creare un utente specificando un determinato UserID?
New Member 投稿: 3 参加年月日: 15/01/16 最新の投稿
Sto usando Liferay 6.2
ho bisogno di associare ad un utente, o creare un utente nuovo, specificando un determinato valore di userID.
Ho visto che i servizi LR standard come addUser o updateUser non permettono di gestire questo parametro.
Esiste un modo per forzare l'associazione di un determinato valore di IDs ad uno user specifico?
In alternativa, come fa LR a scegliere l'ID che poi viene associato ed usato nelle varie tabelle di database?
grazie
ho bisogno di associare ad un utente, o creare un utente nuovo, specificando un determinato valore di userID.
Ho visto che i servizi LR standard come addUser o updateUser non permettono di gestire questo parametro.
Esiste un modo per forzare l'associazione di un determinato valore di IDs ad uno user specifico?
In alternativa, come fa LR a scegliere l'ID che poi viene associato ed usato nelle varie tabelle di database?
grazie
9年前 に Daniele Baggio によって更新されました。
R: Come creare un utente specificando un determinato UserID?
Expert 投稿: 336 参加年月日: 08/12/05 最新の投稿
Direi di cambiare strada. La gestione dell'id dello user é fatta dai servizi e non puoi cambiarla (escludendo che andrai ad alterare i servizi).
Usa lo screenname oppure appoggia il tuo dato ad un custom attribute.
Daniele
@baxtheman
Sent from my Android device with Liferay.com Forums
Usa lo screenname oppure appoggia il tuo dato ad un custom attribute.
Daniele
@baxtheman
Sent from my Android device with Liferay.com Forums
9年前 に dario borsotti によって更新されました。
RE: R: Come creare un utente specificando un determinato UserID?
New Member 投稿: 3 参加年月日: 15/01/16 最新の投稿
La mia effettiva necessità è quella di migrare gli utenti presenti su un vecchio LR 5.1 a un LR 6.2.
La procedura di migrazione dei database è - a mio parere - un vero ginepraio. Non dovendo migrare altro che gli utenti (niente document library ecc) pensavo di sfruttare semplicemente i servizi di addUser...
La condizione necessaria che ho è però quella di mantenere inalterati gli IDs. Per questo stavo cercando di indagare sull'eventuale possibilità di forzare gli IDs degli utenti.
Mi rendo conto del rischio di dover andare a modificare i servizi, ma sto cercando di soppesare le eventuali alternative ad una migrazione standard.
Nel codice ho identificato il punto "cruciale", all'interno della funzione di addUser (che usa addUserWithWorkflow)
com.liferay.portal.service.impl.UserLocalServiceImpl #addUserWithWorkflow
long userId = counterLocalService.increment();
lavorando su questo punto dovrei poter non utilizzare il counter. L'unico dubbio che ho è se poi il virtual counter riesce a tenere in considerazione degli IDs forzatamente inseriti.
La procedura di migrazione dei database è - a mio parere - un vero ginepraio. Non dovendo migrare altro che gli utenti (niente document library ecc) pensavo di sfruttare semplicemente i servizi di addUser...
La condizione necessaria che ho è però quella di mantenere inalterati gli IDs. Per questo stavo cercando di indagare sull'eventuale possibilità di forzare gli IDs degli utenti.
Mi rendo conto del rischio di dover andare a modificare i servizi, ma sto cercando di soppesare le eventuali alternative ad una migrazione standard.
Nel codice ho identificato il punto "cruciale", all'interno della funzione di addUser (che usa addUserWithWorkflow)
com.liferay.portal.service.impl.UserLocalServiceImpl #addUserWithWorkflow
long userId = counterLocalService.increment();
lavorando su questo punto dovrei poter non utilizzare il counter. L'unico dubbio che ho è se poi il virtual counter riesce a tenere in considerazione degli IDs forzatamente inseriti.
9年前 に Daniele Baggio によって更新されました。
RE: R: Come creare un utente specificando un determinato UserID?
Expert 投稿: 336 参加年月日: 08/12/05 最新の投稿
Tieni conto che non puoi alterare la firma dei servizi e quindi non puoi aggiungere un nuovo parametro userId al metodo addUser.
Prova così:
<dirty-code>
Modificare addUser tramite ext-plugin.
Per ottenere l'userid che vuoi devi inserire una logica interna al metodo che recuperi il valore da assegnare.
Finito l'import, vai nel database e alteri il counter specifco per gli utenti portandono abbastanza avanti.
</dirty-code>
..non mi assumo responsabilità su ciò che ho scritto....
@baxtheman
Prova così:
<dirty-code>
Modificare addUser tramite ext-plugin.
Per ottenere l'userid che vuoi devi inserire una logica interna al metodo che recuperi il valore da assegnare.
Finito l'import, vai nel database e alteri il counter specifco per gli utenti portandono abbastanza avanti.
</dirty-code>
..non mi assumo responsabilità su ciò che ho scritto....
@baxtheman