Integración de WordPress MultiSite Active Directory y privacidad del sitio

19

Aquí está la descripción general de la configuración:

  • Tengo una instalación multisitio de WordPress 3.4.2.
  • He instalado el complemento de integración de autenticación de Active Directory para permitir a los usuarios usar sus credenciales de AD. Esto también permite asignar grupos de AD a cada sitio, de modo que los administradores del sitio no tengan que asignar permisos manualmente.
  • He instalado el complemento de privacidad de red , por lo que ciertos sitios deben iniciar sesión antes de que pueda ver cualquier contenido. Los usuarios anónimos solo ven la página de inicio de sesión.

En muchos aspectos, esta configuración funciona. Sin embargo, tengo un problema, que me impide implementar esto en nuestra instalación primaria de sitios múltiples de WordPress:

  • Bob es miembro del grupo "Soporte de TI" en AD.
  • Bob también es miembro del grupo "Usuarios de dominio" en AD.
  • El sitio principal (www.mysite.com) está bloqueado para permitir que los " Domain Users" miembros solo inicien sesión.
  • El subsitio (www.mysite.com/itsupport) está bloqueado para permitir que " IT Support" los miembros solo inicien sesión.
  • Bob visita www.mysite.com y se le solicita autenticación. Ingresa sus credenciales de AD y se le permite ingresar al sitio.
  • Ahora que ha iniciado sesión en www.mysite.com, Bob hace clic en el enlace para ir a www.mysite.com/itsupport y recibe un error de que no es miembro del sitio.
    • Parece que no se ha creado ninguna entrada de usuario en la base de datos de WordPress para este subsitio.
  • Bob cierra sesión en www.mysite.com.
  • Ahora que ha cerrado la sesión, Bob va directamente a www.mysite.com/itsupport y se le solicita la autenticación. Ingresa sus credenciales de AD y se le permite ingresar al sitio.
    • Parece que la entrada del usuario en la base de datos de WordPress se crea en este momento para este subsitio.
  • Ahora, si se desconecta y se conecta a www.mysite.com, puede acceder al sitio de soporte sin ningún problema.

Si elimino las entradas de usuario de Bob para ambos sitios y deshabilito el complemento de Privacidad de red, Bob puede iniciar sesión en www.mysite.com y luego acceder al sitio de soporte. Pero si elimino sus entradas de usuario y vuelvo a habilitar el complemento de Privacidad de red, el problema vuelve a aparecer.

Tuve el mismo problema con otro plugin de privacidad, aunque no recuerdo cuál.

Si puede detectar el problema o si ha configurado algo similar, estoy dispuesto a intentar cualquier cosa, siempre que cumpla con los criterios básicos de usar grupos de AD y poder bloquear ciertos sitios.

Phil Erb
fuente
Suena como un conflicto de caso de uso de complemento / borde. ¿Ha verificado con el desarrollador del complemento si es compatible con bases de datos de usuarios externos?
Damien el
Damien: he registrado elementos de soporte en los foros para ambos complementos. Solo estoy viendo si puedo elegir el cerebro de aquellos que pueden haber abordado algo similar antes. No creo que el complemento de privacidad realmente necesite saber acerca de las bases de datos de usuarios externos, solo necesita dejar que el complemento de AD haga lo suyo y agregar al usuario a la base de datos interna de WordPress. Desafortunadamente, el complemento de privacidad parece estar interfiriendo en eso.
Phil Erb
2
¿Cómo te ha ido con esto? Estoy investigando una implementación similar para una escuela.
orionrush
1
Casi parece que AD solo está devolviendo el grupo asignado para ese sitio, como en "Oye, este es el sitio de TI, así que solo voy a verificar que la cuenta que inicia sesión es el grupo de TI e ignorar el otros grupos ". Quizás vea si hay una manera de obtener AD para recordar todos los grupos a los que pertenece un usuario.
phatskat
1
¿Cómo puede una pregunta de 4 años estar en la cima de Sin respuesta? Esto ya ni siquiera es relevante ya que ambos complementos vinculados están en desuso.
Athoxx

Respuestas:

1

Prueba un enfoque diferente. En lugar de usar complementos, sugiero modificar wordpress un poco como se describe en la siguiente respuesta.

/programming//a/39195424/3157038

Entonces, en su caso, debe configurar las instalaciones de WordPress de esta manera:

  • mysite.com
    • root: * / domains / mysite.com / public_html
    • db: user_mysite
    • prefijo de tabla: root_
  • mysite.com/itsupport
    • root: * / domains / mysite.com / public_html / itsupport
    • db: user_mysite
    • prefijo de tabla: itsupport_

además de la configuración dada en la respuesta a la que me vinculé, agregue lo siguiente a los archivos wp-config de ambas instalaciones de wordpress:

define( 'CUSTOM_USER_TABLE', 'mysite_users );
define( 'CUSTOM_USER_META_TABLE', 'mysite_usermeta' );
Fleuv
fuente
0

Si tiene una instalación en varios sitios, debe cambiar su sitio de soporte técnico de TI a un subdominio.

Probablemente esté experimentando una falta de coincidencia de inicio de sesión de cookies. Dado que se establece en la raíz del dominio, es lo mismo para ambos sitios. Entonces, si configuras support.example.com, debería ser más claro que example.com/support

A menos que esté malentendiendo por completo, en cuyo caso, intente con un complemento diferente para restringir el contenido al usuario y no ejecute esto como un subsitio.

Mantén la calma
fuente