Tích hợp WordPress MultiSite Active Directory và bảo mật trang web


19

Dưới đây là tổng quan về thiết lập:

  • Tôi có cài đặt nhiều trang WordPress 3.4.2.
  • Tôi đã cài đặt plugin Tích hợp Xác thực Active Directory để cho phép người dùng sử dụng thông tin đăng nhập AD của họ. Điều này cũng cho phép gán các nhóm AD cho từng trang, để quản trị viên trang không phải tự gán quyền.
  • Tôi đã cài đặt plugin Network Privacy , để các trang web nhất định phải được đăng nhập trước khi bạn có thể xem bất kỳ nội dung nào. Người dùng ẩn danh chỉ nhìn thấy trang đăng nhập.

Về nhiều mặt, thiết lập này hoạt động. Tuy nhiên, tôi đang gặp một vấn đề, điều đó ngăn tôi chuyển vấn đề này sang cài đặt đa trang WordPress chính của chúng tôi:

  • Bob là thành viên của nhóm "Hỗ trợ CNTT" trong AD.
  • Bob cũng là thành viên của nhóm "Người dùng tên miền" trong AD.
  • Trang web chính (www.mysite.com) bị khóa để chỉ cho phép Domain Userscác thành viên "" đăng nhập.
  • Trang web phụ (www.mysite.com/itsupport) bị khóa để chỉ cho phép IT Supportcác thành viên "" đăng nhập.
  • Bob truy cập www.mysite.com và được nhắc xác thực. Anh ta nhập thông tin đăng nhập AD của mình và được phép vào trang web.
  • Bây giờ anh ấy đã đăng nhập vào www.mysite.com, Bob nhấp vào liên kết để truy cập www.mysite.com/itsupport và nhận được lỗi rằng anh ấy không phải là thành viên của trang web.
    • Dường như không có mục nhập người dùng nào được tạo trong cơ sở dữ liệu WordPress cho trang web phụ này.
  • Bob đăng xuất khỏi www.mysite.com.
  • Bây giờ anh ấy đã đăng xuất, Bob truy cập trực tiếp vào www.mysite.com/itsupport và được nhắc xác thực. Anh ta nhập thông tin đăng nhập AD của mình và được phép vào trang web.
    • Có vẻ như mục nhập của người dùng trong cơ sở dữ liệu WordPress được tạo tại thời điểm này cho trang web phụ này.
  • Bây giờ nếu anh ta đăng xuất và đăng nhập vào www.mysite.com, anh ta có thể truy cập trang web hỗ trợ của mình mà không gặp vấn đề gì.

Nếu tôi xóa các mục nhập của người dùng Bob cho cả hai trang web và vô hiệu hóa plugin Network Privacy, Bob có thể đăng nhập vào www.mysite.com và sau đó truy cập vào trang web hỗ trợ của nó. Nhưng nếu tôi xóa các mục nhập người dùng của anh ấy và kích hoạt lại plugin Network Privacy, vấn đề sẽ xuất hiện trở lại.

Tôi gặp vấn đề tương tự với một plugin riêng tư khác, mặc dù tôi không thể nhớ cái nào.

Nếu bạn có thể phát hiện ra vấn đề hoặc nếu bạn đã thiết lập một cái gì đó tương tự, tôi sẵn sàng thử bất cứ điều gì, miễn là tôi đáp ứng các tiêu chí cơ bản của việc sử dụng các nhóm AD và có thể khóa các trang web nhất định.


Nghe có vẻ như một xung đột trường hợp sử dụng plugin / cạnh. Bạn đã kiểm tra với nhà phát triển plugin nếu nó hỗ trợ cơ sở dữ liệu người dùng bên ngoài chưa?
Damien

Damien - Tôi đã đăng nhập các mục hỗ trợ trong diễn đàn cho cả hai plugin. Tôi chỉ đang xem liệu tôi có thể chọn bộ não của những người có thể đã giải quyết điều gì đó tương tự trước đây không. Tôi không tin rằng plugin riêng tư thực sự cần biết về cơ sở dữ liệu người dùng bên ngoài, nó chỉ cần để plugin AD thực hiện công việc của mình và thêm người dùng vào cơ sở dữ liệu WordPress nội bộ. Thật không may, các plugin riêng tư dường như đang cản trở điều đó.
Phil Erb

2
Làm thế nào bạn có được với điều này? Tôi đang nghiên cứu một thực hiện tương tự cho một trường học.
orionrush

1
Có vẻ như AD chỉ trả lại nhóm được chỉ định cho trang web đó - như trong "Này, đây là trang CNTT, vì vậy tôi sẽ chỉ xác minh rằng tài khoản đăng nhập là nhóm CNTT và bỏ qua các nhóm khác. " Có thể xem liệu có cách nào để có được AD để ghi nhớ tất cả các nhóm mà người dùng thuộc về.
phatskat

1
Làm thế nào một câu hỏi 4 tuổi có thể ở đầu câu trả lời? Điều này thậm chí không còn phù hợp nữa vì cả hai plugin được liên kết đều không dùng nữa.
Athoxx

Câu trả lời:


1

Hãy thử một cách tiếp cận khác. Thay vì sử dụng plugin, tôi khuyên bạn nên sửa đổi wordpress một chút như được mô tả trong câu trả lời sau.

/programming//a/39195424/3157038

Vì vậy, trong trường hợp của bạn, bạn nên thiết lập cài đặt wordpress như thế này:

  • mysite.com
    • root: * / domain / mysite.com / public_html
    • db: user_mysite
    • tiền tố bảng: root_
  • mysite.com/itsupport
    • root: * / domain / mysite.com / public_html / itupport
    • db: user_mysite
    • tiền tố bảng: itupport_

ngoài cấu hình được đưa ra trong câu trả lời mà tôi đã liên kết, hãy thêm đoạn sau vào tệp wp-config của cả hai bản cài đặt wordpress:

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

0

Nếu bạn có cài đặt nhiều trang, bạn nên chuyển trang web Hỗ trợ Công nghệ CNTT của mình sang tên miền phụ.

Bạn có thể đang trải qua một sự không phù hợp đăng nhập cookie. Vì nó được đặt ở gốc của tên miền nên nó giống nhau cho cả hai trang. Vì vậy, nếu bạn thiết lập support.example.com thì nó sẽ rõ ràng hơn example.com/support

Trừ khi tôi hiểu nhầm hoàn toàn, trong trường hợp đó, hãy thử một plugin khác để hạn chế nội dung cho người dùng và không chạy nó dưới dạng trang web phụ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.