• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Creazione di un modulo per la gestione delle password
 

Creazione di un modulo per la gestione delle password

on

  • 381 views

Nicola Pignatelli @ Drupal Days 2014

Nicola Pignatelli @ Drupal Days 2014

Statistics

Views

Total Views
381
Views on SlideShare
317
Embed Views
64

Actions

Likes
0
Downloads
8
Comments
0

5 Embeds 64

http://www.drupaldays.it 27
http://milano2014.drupaldays.it 19
http://drupaldays.it 16
https://twitter.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Creazione di un modulo per la gestione delle password Creazione di un modulo per la gestione delle password Presentation Transcript

    • 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 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.
    • 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
    • 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)
    • 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
    • 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)
    • 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 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.
    • 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.
    • SCREENSHOT PERMESSI DEL MODULO
    • 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.
    • 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.
    • SCREENSHOT FORM EDIT UTENTE
    • 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.
    • 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.
    • 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 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
    • 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.
    • 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/
    • 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.
    • 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.
    • NICOLA PIGNATELLI Web: http://www.pignatelli.com Email: nicola@pignatelli.com Facebook: npignatelli Twitter: pignatellicom Skype: nicola.pignatelli Linkedin: /in/nicolapignatelli
    • SPONSOR MEDIA PARTNER