Integrazione di WordPress MultiSite Active Directory e privacy del sito


19

Ecco la panoramica dell'installazione:

  • Ho un'installazione multisito di WordPress 3.4.2.
  • Ho installato il plug-in Integrazione autenticazione Active Directory per consentire agli utenti di utilizzare le proprie credenziali AD. Ciò consente anche di assegnare gruppi AD a ciascun sito, in modo che gli amministratori del sito non debbano assegnare manualmente le autorizzazioni.
  • Ho installato il plug-in Privacy di rete , pertanto è necessario accedere a determinati siti prima di poter visualizzare qualsiasi contenuto. Gli utenti anonimi vedono solo la pagina di accesso.

Per molti aspetti, questa configurazione funziona. Sto riscontrando tuttavia un problema, che mi impedisce di implementarlo nella nostra installazione multi-sito principale di WordPress:

  • Bob è membro del gruppo "Supporto IT" in AD.
  • Bob è anche membro del gruppo "Domain Users" in AD.
  • Il sito principale (www.mysite.com) è bloccato per consentire l'accesso " Domain Users" solo ai membri.
  • Il sito secondario (www.mysite.com/itsupport) è bloccato per consentire l'accesso solo ai IT Supportmembri " ".
  • Bob visita www.mysite.com e richiede l'autenticazione. Immette le sue credenziali AD e gli è consentito accedere al sito.
  • Ora che ha effettuato l'accesso su www.mysite.com, Bob fa clic sul collegamento per accedere a www.mysite.com/itsupport e riceve un errore che non è membro del sito.
    • Sembra che non sia stata creata alcuna voce utente nel database WordPress per questo sito secondario.
  • Bob si disconnette da www.mysite.com.
  • Ora che è disconnesso, Bob accede direttamente a www.mysite.com/itsupport e richiede l'autenticazione. Immette le sue credenziali AD e gli è consentito accedere al sito.
    • Sembra che la voce utente nel database WordPress sia stata creata a questo punto per questo sito secondario.
  • Ora se si disconnette e accede a www.mysite.com, può passare senza problemi al sito di supporto.

Se elimino le voci utente di Bob per entrambi i siti e disabilito il plug-in Privacy di rete, Bob è in grado di accedere a www.mysite.com e quindi passare al sito di supporto. Ma se elimino le voci dell'utente e riattivo il plug-in Privacy di rete, il problema riappare.

Ho avuto lo stesso problema con un altro plugin per la privacy, anche se non ricordo quale.

Se riesci a individuare il problema o se hai impostato qualcosa di simile, sono disposto a provare qualsiasi cosa, purché soddisfi i criteri di base dell'utilizzo di gruppi AD e di essere in grado di bloccare determinati siti.


Sembra un conflitto di casi d'uso plugin / edge. Hai verificato con lo sviluppatore del plug-in se supporta database di utenti esterni?
Damien,

Damien - Ho registrato elementi di supporto nei forum per entrambi i plugin. Sto solo vedendo se riesco a scegliere il cervello di coloro che potrebbero aver affrontato qualcosa di simile prima. Non credo che il plug-in per la privacy debba davvero conoscere i database degli utenti esterni, deve solo lasciare che il plug-in AD faccia la sua cosa e aggiungere l'utente al database WordPress interno. Sfortunatamente, il plug-in per la privacy sembra ostacolarlo.
Phil Erb,

2
Come sei andato avanti con questo? Sto cercando un'implementazione simile per una scuola.
Orionrush,

1
Sembra quasi che AD stia restituendo solo il gruppo assegnato a quel sito - come in "Ehi, questo è il sito IT, quindi verificherò solo che il login dell'account è il gruppo IT e ignorerò il altri gruppi ". Forse vedi se c'è un modo per far sì che AD ricordi tutti i gruppi a cui appartiene un utente.
phatskat,

1
Come può una domanda di 4 anni essere in cima a Unanswered? Questo non è nemmeno più rilevante poiché entrambi i plugin collegati sono obsoleti.
Athoxx,

Risposte:


1

Prova un approccio diverso. Invece di usare plugin, suggerisco di modificare un po 'wordpress come descritto nella seguente risposta.

/programming//a/39195424/3157038

Quindi nel tuo caso dovresti configurare le installazioni di wordpress in questo modo:

  • mysite.com
    • root: * / domains / mysite.com / public_html
    • db: user_mysite
    • prefisso tabella: root_
  • mysite.com/itsupport
    • root: * / domains / mysite.com / public_html / itsupport
    • db: user_mysite
    • prefisso tabella: itsupport_

oltre alla configurazione fornita nella risposta a cui ho collegato, aggiungere quanto segue ai file wp-config di entrambe le installazioni di wordpress:

define( 'CUSTOM_USER_TABLE', 'mysite_users );
define( 'CUSTOM_USER_META_TABLE', 'mysite_usermeta' );

0

Se si dispone di un'installazione su più siti, è necessario passare il sito del supporto tecnico IT a un sottodominio.

Probabilmente stai riscontrando una mancata corrispondenza di accesso ai cookie. Poiché è impostato alla radice del dominio, è lo stesso per entrambi i siti. Quindi, se imposti support.example.com, dovrebbe essere più chiaro di example.com/support

A meno che non fraintenda completamente, nel qual caso, prova un plug-in diverso per limitare il contenuto all'utente e non eseguirlo come un sito secondario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.