0
CREAZIONE MODULO PER
LA GESTIONE DELLA SCADENZA
PASSWORD UTENTE
OBIETTIVO DELLO SPEECH
Obiettivo di questa esposizione è la creazione di un
modulo che periodicamente invalidi la password...
OBIETTIVO DELLO SPEECH
•  Creazione dei file necessari per il modulo
•  Creazione tabelle nel database
•  Utilizzo hook di...
FILE UTILIZZATI NEL MODULO
•  expire_user_password.info (contiene i dati
informativi del modulo)
•  expire_user_password.i...
CONTENUTO FILE expire_user_password.info
name = Expire User Password
description = Modules to manage scheduled user
passwo...
CONTENUTO FILE expire_user_password.install
Hook/funzioni presenti nel file:
!  expire_user_password_schema()
(contiene la...
SCREENSHOT ELENCO MODULI SUL SISTEMA/1
SCREENSHOT ELENCO MODULI SUL SISTEMA/2
CONTENUTO FILE expire_user_password.module
COSTANTI DEL MODULO
EXPIRE_USER_PASSWORD_CONFIGURE:
utilizzata per il prefisso ...
CONTENUTO FILE expire_user_password.module
HOOK/FUNZIONI DEL MODULO
expire_user_password_help($path, $arg):
hook_help util...
SCREENSHOT PERMESSI DEL MODULO
CONTENUTO FILE expire_user_password.module
expire_user_password_configure($form, &
$form_state):
funzione che crea la pagi...
CONTENUTO FILE expire_user_password.module
expire_user_password_form_alter(&$form, &
$form_state, $form_id):
hook_form_alt...
SCREENSHOT FORM EDIT UTENTE
CONTENUTO FILE expire_user_password.module
_expire_user_password_ttl_user_save($form, &
$form_state):
funzione che salva/c...
CONTENUTO FILE expire_user_password.module
expire_user_password_user_delete($account):
hook_user_delete per cancellare la ...
SCREENSHOT ABILITAZIONE EXPIRE PASSWORD
SCREENSHOT TTL PER SINGOLO RUOLO
CONTENUTO FILE expire_user_password.module
expire_user_password_init():
hook_init per centralizzare il controllo della sca...
CONTENUTO FILE expire_user_password.module
_expire_user_password_list_permissions($account):
Funzione che recupera in un a...
TRADUZIONE MULTILINGUA DEL MODULO/1
Per tradurre le stringhe nel modulo eseguire i seguenti
passaggi preliminari:!
!  Util...
TRADUZIONE MULTILINGUA DEL MODULO/2
Per estrarre le stringhe da tradurre andare alla pagina
http://[dominio]/admin/config/...
TRADUZIONE MULTILINGUA DEL MODULO/3
Importare le stringhe di traduzione caricando il file al
seguente url:
http://[dominio...
NICOLA PIGNATELLI
Web: http://www.pignatelli.com
Email: nicola@pignatelli.com
Facebook: npignatelli
Twitter: pignatellicom...
SPONSOR
MEDIA PARTNER
Upcoming SlideShare
Loading in...5
×

Creazione di un modulo per la gestione delle password

543

Published on

Nicola Pignatelli @ Drupal Days 2014

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
543
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Creazione di un modulo per la gestione delle password"

  1. 1. CREAZIONE MODULO PER LA GESTIONE DELLA SCADENZA PASSWORD UTENTE
  2. 2. OBIETTIVO DELLO SPEECH Obiettivo di questa esposizione è la creazione di un modulo che periodicamente invalidi la password degli utenti. Questo permette di migliorare la sicurezza del sito/ portale. La scelta potrà essere a livello globale oppure partendo dal ruolo per arrivare all'utente stesso.
  3. 3. OBIETTIVO DELLO SPEECH •  Creazione dei file necessari per il modulo •  Creazione tabelle nel database •  Utilizzo hook di sistema •  Come inviare email dal modulo •  Invio automatico di email di avviso •  Traduzione multilingua del modulo
  4. 4. FILE UTILIZZATI NEL MODULO •  expire_user_password.info (contiene i dati informativi del modulo) •  expire_user_password.install (utilizzato per la creazione delle tabelle e variabili) •  expire_user_password.module (contiene l'implementazione del modulo) •  expire_user_password.it.po (contiene le traduzioni delle stringhe)
  5. 5. CONTENUTO FILE expire_user_password.info name = Expire User Password description = Modules to manage scheduled user password package = User core = 7.x configure = admin/expire_user_password/configure dependencies[] = locale dependencies[] = date_popup
  6. 6. CONTENUTO FILE expire_user_password.install Hook/funzioni presenti nel file: !  expire_user_password_schema() (contiene la tabella che mappa utente/data di scadenza password) !  expire_user_password_install() (setta variabili di sistema) !  expire_user_password_uninstall() (cancella le variabili di sistema create in precedenza)
  7. 7. SCREENSHOT ELENCO MODULI SUL SISTEMA/1
  8. 8. SCREENSHOT ELENCO MODULI SUL SISTEMA/2
  9. 9. CONTENUTO FILE expire_user_password.module COSTANTI DEL MODULO EXPIRE_USER_PASSWORD_CONFIGURE: utilizzata per il prefisso comune a tutte le voci di menu. Il valore è: admin/expire_user_password EXPIRE_USER_PASSWORD_RID_ADMIN_ROLE: utilizzata per il definire in un punto il valore del role id corrispondente agli amministratori. Nel nostro caso il valore è: 3.
  10. 10. CONTENUTO FILE expire_user_password.module HOOK/FUNZIONI DEL MODULO expire_user_password_help($path, $arg): hook_help utilizzato per generare la pagina contenente la spiegazione e il riassunto dei link del modulo. expire_user_password_menu(): hook_menu che permette di creare i link delle pagine di amministrazione. expire_user_password_permission(): hook_permission contenente il permesso per permettere agli utenti di configurare le pagine di amministrazione.
  11. 11. SCREENSHOT PERMESSI DEL MODULO
  12. 12. CONTENUTO FILE expire_user_password.module expire_user_password_configure($form, & $form_state): funzione che crea la pagina di admin per abilitare o disabilitare scadenza password a livello di sistema. _expire_user_password_configure_submit ($form, &$form_state): funzione che recupera i valori del form creato in expire_user_password_configure ed in base alle condizioni del form salva i dati nelle variabili di sistema e genera le scadenze password per tutti gli utenti.
  13. 13. CONTENUTO FILE expire_user_password.module expire_user_password_form_alter(&$form, & $form_state, $form_id): hook_form_alter per aggiungere al form il campo conterrà la data di scadenza password utente. Il campo sarà visibile agli utenti con il permesso associato ad uno dei loro ruoli. _expire_user_password_ttl_user_validate($form, & $form_state): funzione per verificare che la data inserita sia valida.
  14. 14. SCREENSHOT FORM EDIT UTENTE
  15. 15. CONTENUTO FILE expire_user_password.module _expire_user_password_ttl_user_save($form, & $form_state): funzione che salva/cancella la data di scadenza password corrispondente all'utente nella tabella expire_user_password_users. _expire_user_password_get_ttl_user($uid): funzione che recupera la data scadenza password in base all'uid utente passato come parametro. _expire_user_password_get_ttl_role($rid=null): funzione che recupera la data scadenza password in base all'rid ruolo passato come parametro.
  16. 16. CONTENUTO FILE expire_user_password.module expire_user_password_user_delete($account): hook_user_delete per cancellare la data scadenza password utente da expire_user_password_users. expire_user_password_reset_ttl($form, & $form_state): funzione che crea la pagina di admin per inserire le date di scadenza password in base al ruolo. _expire_user_password_reset_ttl_submit($form, & $form_state): funzione che recupera i valori del form creato in expire_user_password_reset_ttl e permette di aggiornate le scadenze delle password utente.
  17. 17. SCREENSHOT ABILITAZIONE EXPIRE PASSWORD
  18. 18. SCREENSHOT TTL PER SINGOLO RUOLO
  19. 19. CONTENUTO FILE expire_user_password.module expire_user_password_init(): hook_init per centralizzare il controllo della scadenza password quando si visita una pagina. expire_user_password_cron(): hook_cron per verificare scadenze di password ed inviare un avviso agli utenti expire_user_password_user_load($users): hook_user_load per aggiungere all'oggetto $user la proprietà corrispondente al campo scadenza password
  20. 20. CONTENUTO FILE expire_user_password.module _expire_user_password_list_permissions($account): Funzione che recupera in un array “piatto” tutti i permessi associati all'utente passato come parametro. expire_user_password_mail($key, &$message, $params): Funzione per inviare la mail di avviso di scadenza password all'utente.
  21. 21. TRADUZIONE MULTILINGUA DEL MODULO/1 Per tradurre le stringhe nel modulo eseguire i seguenti passaggi preliminari:! !  Utilizzare la funzione t() su ogni stringa di cui si vuole effettuare la traduzione. !  Scaricare il modulo “Translation template extractor” dal seguente url: https://drupal.org/project/potx !  Abilitare il modulo “Translation template extractor” !  Aggiungere la lingua italiana tramite il form presente all'url http://[dominio]/admin/config/regional/language/
  22. 22. TRADUZIONE MULTILINGUA DEL MODULO/2 Per estrarre le stringhe da tradurre andare alla pagina http://[dominio]/admin/config/regional/translate/extract e selezionare il checkbox inerente il modulo expire_user_password. Una volta generato il file .pot utilizzare un software, per esempio poedit, per inserire le traduzioni delle stringhe inglesi nella lingua preferita. Salvare il file con un nome parlante, per esempio expire_user_password.it.po.
  23. 23. TRADUZIONE MULTILINGUA DEL MODULO/3 Importare le stringhe di traduzione caricando il file al seguente url: http://[dominio]/admin/config/regional/translate/import selezionando la lingua delle stringhe tradotte. Ora selezionando la lingua italiana le stringhe precedentemente in inglese saranno visibili nella lingua dello Stivale.
  24. 24. NICOLA PIGNATELLI Web: http://www.pignatelli.com Email: nicola@pignatelli.com Facebook: npignatelli Twitter: pignatellicom Skype: nicola.pignatelli Linkedin: /in/nicolapignatelli
  25. 25. SPONSOR MEDIA PARTNER
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×