Integrasi Direktori Aktif WordPress MultiSite dan privasi situs

19

Berikut gambaran umum pengaturan:

  • Saya memiliki instalasi multisite WordPress 3.4.2.
  • Saya telah menginstal plugin Integrasi Otentikasi Direktori Aktif untuk memungkinkan pengguna menggunakan kredensial AD mereka. Ini juga memungkinkan menetapkan grup AD ke setiap situs, sehingga admin situs tidak secara manual harus menetapkan izin.
  • Saya telah menginstal plugin Network Privacy , sehingga situs tertentu harus masuk sebelum Anda dapat melihat konten apa pun. Pengguna anonim hanya melihat halaman login.

Dalam banyak hal, pengaturan ini berfungsi. Namun saya memiliki satu masalah, yang menghentikan saya untuk meluncurkan ini ke instalasi multi-situs WordPress utama kami:

  • Bob adalah anggota grup "Dukungan IT" di AD.
  • Bob juga anggota grup "Pengguna Domain" dalam AD.
  • Situs utama (www.mysite.com) dikunci untuk hanya mengizinkan Domain Usersanggota " " masuk.
  • Sub-situs (www.mysite.com/itsupport) dikunci untuk hanya mengizinkan IT Supportanggota " " masuk.
  • Bob mengunjungi www.mysite.com dan diminta untuk otentikasi. Dia memasuki kredensial AD-nya dan diizinkan masuk ke situs.
  • Sekarang dia sudah masuk di www.mysite.com, Bob mengklik tautan untuk pergi ke www.mysite.com/itsupport dan menerima kesalahan bahwa dia bukan anggota situs.
    • Tampaknya tidak ada entri pengguna yang dibuat dalam database WordPress untuk sub-situs ini.
  • Bob keluar dari www.mysite.com.
  • Sekarang setelah dia keluar, Bob langsung pergi ke www.mysite.com/itsupport dan diminta untuk otentikasi. Dia memasuki kredensial AD-nya dan diizinkan masuk ke situs.
    • Tampaknya entri pengguna dalam database WordPress dibuat pada titik ini untuk sub-situs ini.
  • Sekarang jika dia logout dan log in ke www.mysite.com, dia dapat melintasi situs pendukungnya tanpa masalah.

Jika saya menghapus entri pengguna Bob untuk kedua situs dan menonaktifkan plugin Network Privacy, Bob dapat masuk ke www.mysite.com dan kemudian melintasi ke situs pendukungnya. Tetapi jika saya menghapus entri penggunanya dan mengaktifkan kembali plugin Network Privacy, masalahnya muncul kembali.

Saya memiliki masalah yang sama dengan satu plugin privasi lainnya, meskipun saya tidak dapat mengingat yang mana.

Jika Anda dapat menemukan masalah atau jika Anda memiliki pengaturan yang serupa, saya bersedia mencoba apa saja, selama saya memenuhi kriteria dasar menggunakan grup AD dan dapat mengunci situs tertentu.

Phil Erb
sumber
Kedengarannya seperti konflik penggunaan plugin / tepi. Sudahkah Anda memeriksa pengembang plugin jika mendukung basis data pengguna eksternal?
Damien
Damien - Saya telah mencatat item dukungan di forum untuk kedua plugin. Saya hanya melihat apakah saya dapat memilih otak orang-orang yang mungkin pernah menangani hal serupa sebelumnya. Saya tidak percaya bahwa plugin privasi benar-benar perlu tahu tentang database pengguna eksternal, hanya perlu membiarkan plugin AD melakukan hal itu dan menambahkan pengguna ke database WordPress internal. Sayangnya, plugin privasi sepertinya menghalangi hal itu.
Phil Erb
2
Bagaimana Anda melanjutkan ini? Saya sedang meneliti implementasi yang serupa untuk sebuah sekolah.
orionrush
1
Hampir terdengar seperti AD hanya memberikan kembali grup yang ditugaskan untuk situs itu - seperti pada, "Hei, ini adalah situs IT, jadi saya hanya akan memverifikasi bahwa akun yang masuk adalah grup IT dan mengabaikan kelompok lain. " Mungkin melihat apakah ada cara untuk membuat AD mengingat semua grup milik pengguna.
phatskat
1
Bagaimana pertanyaan berusia 4 tahun berada di puncak Unanswered? Ini bahkan tidak relevan lagi karena kedua plugin yang ditautkan sudah tidak digunakan lagi.
Athoxx

Jawaban:

1

Coba pendekatan yang berbeda. Alih-alih menggunakan plugin, saya sarankan sedikit memodifikasi wordpress seperti yang dijelaskan dalam jawaban berikut.

/programming//a/39195424/3157038

Jadi dalam kasus Anda, Anda harus mengatur instalasi wordpress seperti ini:

  • mysite.com
    • root: * / domains / mysite.com / public_html
    • db: user_mysite
    • awalan tabel: root_
  • mysite.com/itsupport
    • root: * / domains / mysite.com / public_html / itsupport
    • db: user_mysite
    • awalan tabel: itsupport_

selain dari pada konfigurasi yang diberikan dalam jawaban yang saya tautkan, tambahkan berikut ini ke file wp-config dari kedua instalasi wordpress:

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

Jika Anda menginstal multi-situs, Anda harus mengalihkan situs IT Tech Support Anda ke subdomain.

Anda mungkin mengalami ketidakcocokan login cookie. Karena diatur pada akar domain, itu sama untuk kedua situs. Jadi, jika Anda mengatur support.example.com, itu harus lebih jelas daripada example.com/support

Kecuali jika saya salah paham sepenuhnya, dalam hal ini, cobalah plugin yang berbeda untuk membatasi konten kepada pengguna dan jangan menjalankan ini sebagai sub-situs.

tetap tenang
sumber