WordPress, Creare un Single SignOn con autologin attraverso IIS e Active Directory

Luca Bartoli

Negli ultimi tempi ho dovuto implementare una specie di SocialNetwork aziendale e per far questo ho dovuto agganciare le utenze di wordpress con l'active directory (LDAP) interno dove, oltre alle utenze, sono presenti le email, i numeri di telefono ed altre informazioni. Per il socialnetwork ho usato buddypress e per la gestione dei progetti collabpress. In questo articolo spiegherò come ho implementato, oltre alla connessione con l'active directory, il vero single signone con autologin. Con questa modalità si può accedere a wordpress senza digitare user e password ma attraverso il riconoscimento automatico.

Per prima cosa si dovrà istallare wordpress su di una macchina Windows, in dominio, invece che nella solita Linux. Per fare questo sarà sufficiente andare sulla web app gallery di Microsoft (http://www.microsoft.com/web/gallery/) e cercare wordpress, la pagina ci proporrà di scaricare un pacchetto che installerà automaticamente tutto il necessario compreso IIS, PHP, WordPress e MySql.

 Al termine dell’istallazione dovreste avere il sistema configurato correttamente.

Per implementare la possibilità del riconoscimento automatico attraverso il dominio i dovranno eseguire tre operazioni di cui due fondamentali:

  1. Abilitare la Windows Authentication e disabilitare quella anonima
  2. Aggiungere, con un plug-in o aggiungendo una funzione al tema che avete scelto, il codice che permetterà di riprendere da IIS l’utente che è stato riconosciuto e usarlo per l’autenticazione.
  3. Solo opzionalmente, precaricare gli utenti di dominio nel vostro WordPress attraverso un plug-in che si scarica gratuitamente.

 Iniziamo ad analizzare il punto numero 1

Per abilitare la windows authentication bisogna aprire la maschera del service manager e navigare la struttura come nella figura seguente, per poi cliccare due volte nell’icona indicata dalla freccia

A questo punto si dovrebbe aprire una maschera di questo tipo

 Se nell’elenco centrale non dovesse comparire la voce Windows Authentication dovremmo installarla andando con il pulsante destro sull’icona a sinistra Web Services (IIS) e selezionare Ad Role Services a questo punto si dovrebbe aprire la maschera seguente

Da cui si può selezionare e installare la Windows Authentication che poi apparira nella maschera precedente e che dovrete abilitare cliccando con il tasto destro. Ricordate di disabilitare Anonymous Authentication

A questo punto possiamo passare al punto 2

Per abilitare l’ autenticazione tramite windows e quindi tramite LDAP si dovrà fare in modo che all’inizio di ogni sessione il nostro wordpress legga l’utente di IIS, se riconosciuto, e carichi l’utente come se si fosse autenticato.

Per questa funzione ho preparato un piccolo plugin scaricabile qui: lb-windows-iis-autologin_1.0.

Naturalmente gli utenti, con lo stesso user name dell’LDAP, devono essere già presenti in wordpress altrimenti non funzionerà nulla.

Per questo ora passeremo al punto 3

Per caricare gli utenti si possono seguire tre strade: la prima consiste nel caricare a mano gli utenti, la seconda nell’utilizzare un plugin (tipo: Active Directory Integration) con cui precaricare gli utenti di LDAP basandosi su dei filtri e l’ultima, scrivendo una piccola funzione, da inserire nel plugin da me creato, che crei l’utente una volta ripreso da IIS. Un esempio potrebbe essere:

A questo punto il gioco è fatto.

Per qualsiasi aiuto o chiarimento contattatemi.

Similar Posts:


Lascia un Commento