2017-12-20 116 views
11

Hiện tại, chúng tôi đang chạy 2 trang web dựa trên WordPress, ứng dụng tùy chỉnh được xây dựng trong JS (Hapi, Angular, Mongo), cũng như kho lưu trữ GitLab tự lưu trữ và dựa trên Cấu hình ISP. Hiện tại, người dùng muốn sử dụng nhiều hơn 1 dịch vụ buộc phải tạo nhiều tài khoản.Giải pháp tốt nhất cho hệ thống quản lý người dùng tập trung cho nhiều hệ thống

Điều gì sẽ là phương pháp tốt nhất để tập trung nó giả định rằng chúng ta muốn:

  • người dùng sử dụng cùng một thông tin quan trọng trên mỗi trang
  • cho phép người dùng đăng nhập bằng đăng nhập xã hội (Facebook, Google, Twitter) và vẫn giữ hồ sơ đơn của mình thông tin
  • Tập trung về các dịch vụ sử dụng, sử dụng và thông tin thanh toán (hoá đơn)

Chúng tôi không muốn overcomplicate giải pháp, do đó, chúng tôi không muốn tập trung quản lý truy cập và lấy chúng từ máy chủ tập trung, mỗi trang/dịch vụ sẽ duy trì nó trên chính nó (tức là khi người dùng thực hiện mua hàng trên các trang web WP (woocommerce) wordpress chính nó sẽ duy trì trật tự và chúng tôi sẽ viết mã tùy chỉnh để báo cáo bán cho hệ thống tập trung cho mục đích thanh toán)

Hiện tại chúng tôi đang xem xét sử dụng LDAP hoặc Kerberos phù hợp hơn?

Thứ hai - cách bao gồm một phần liên quan đến đăng nhập xã hội? Tôi cho rằng chúng ta vẫn nên cho phép người dùng đăng ký sử dụng OAuth2 và bằng cách nào đó đồng bộ hóa dữ liệu giữa mỗi dịch vụ và hệ thống tập trung. Có cách nào khác không?

+0

Một ý tưởng về cách giải quyết vấn đề này là thiết lập và Api trên cả hai ứng dụng. Vì vậy, khi người dùng đăng nhập vào app1, nó sẽ trông đầu tiên nếu người dùng tồn tại cơ sở dữ liệu app1. Nếu không, sau đó nó sẽ kiểm tra nếu người dùng tồn tại trong app2. Nếu người dùng tồn tại trong app2 thì nó gửi tất cả thông tin cho người dùng đó đến app1 và tạo "người dùng mới" trên app1. Không biết nếu đó sẽ là giải pháp tốt nhất cho bạn, nhưng đó là một ý tưởng. – zarex360

+0

Xem [this] (https://security.stackexchange.com/a/109574) để so sánh giữa LDAP và Kerberos. –

Trả lời

1

những ham muốn của bạn [sửa cho tôi nếu tôi sai]:

  • Bạn có hai ứng dụng mà chủ yếu là những thứ riêng biệt.
  • Các ứng dụng này có thể được phân phát từ trang web qua HTTP và không được có hệ thống xác thực hoặc cần được sửa lại.
  • Bạn muốn có hệ thống đăng nhập tập trung có xác thực xã hội.
  • Bạn có một thực thể kinh doanh duy nhất.
  • Bạn muốn có một nguồn dữ liệu kết hợp duy nhất cho thương mại điện tử.
  • Về cơ bản, bạn đang thiết lập điều này từ đầu ở phía phụ trợ WordPress , hiện không có hệ sinh thái hỗn hợp nào của người dùng.

Ý kiến ​​của tôi: Bạn KHÔNG muốn LDAP hoặc Kerberos. Những giải pháp này quá phức tạp cho tình huống này. Bạn muốn cài đặt SINGLE WordPress. Bạn có thể dễ dàng thiết lập chương trình phụ trợ để trả lời cho nhiều tên miền. Nói cách khác, một cài đặt wordpress duy nhất có thể xử lý các trang tại "domain1.com" và "domain2.com" và hiển thị các trang có tiêu đề và văn bản khác nhau để làm cho chúng trở thành hai trang web. Không có lý do gì để duy trì hai danh sách người dùng riêng biệt, bởi vì bạn muốn một hệ thống duy nhất đăng nhập. Phân biệt người dùng dựa trên dữ liệu kinh doanh của họ, tức là user1 có dữ liệu "đã đăng ký trên SiteA", user2 có dữ liệu "đã đăng ký trên SiteB", v.v.

Bạn có thể đặt ứng dụng của mình vào trang WordPress, sau đó sử dụng is_user_logged_in() vào tường lửa nó đằng sau WordPress. Đây là một phương pháp tiêu chuẩn công nghiệp của auth và cực kỳ an toàn nếu thiết lập một cách chính xác. Hoặc nếu đó là api dữ liệu, bạn có thể đặt nó làm điểm cuối và tận dụng chính xác hệ thống xác thực.

Bất kỳ plugin auth xã hội chính nào phổ biến trong repo miễn phí .org nên làm việc với hộp này bằng phương pháp này.

Nếu bạn định liên kết blog, nghĩa là có nhiều "bài đăng" về sản phẩm và bạn muốn các blog đó là hệ sinh thái khác nhau, với các nhóm người dùng khác nhau, bạn đang tìm kiếm WordPress Multi-Site. Tôi không nghĩ rằng đây là những gì bạn muốn. Bạn không có âm thanh như bạn sẽ "blog". Hoặc ít nhất mỗi trang sẽ được sắp xếp tỉ mỉ trên các trang web kết hợp này. Vì vậy, có thể bạn đang tìm kiếm chỉ một lần cài đặt để phân phát nội dung cho hai tên miền. KHÔNG MULTISITE.

Bạn nên sử dụng WooCommerce, đơn giản chỉ vì đó là nền tảng được hỗ trợ rộng rãi nhất. Thiết lập miễn phí 100%.

Bạn có thể dễ dàng phân phát các trang được gắn thương hiệu hoàn toàn khác nhau, ngay cả trong một lần cài đặt. Ví dụ: một trang web WordPress có thể phân phối các trang đến hai tên miền và đặt các biểu tượng và tiêu đề khác nhau lên đầu trang để làm cho chúng xuất hiện khác nhau. Một máy vật lý có thể phục vụ hai tên miền.

Tóm lại: Bạn muốn có một thiết lập WordPress trên một máy duy nhất, phục vụ hai tên miền. Nội dung và giao diện trên các tên miền có thể khác nhau theo ý muốn. Sử dụng bất kỳ plugin auth xã hội phổ biến nào trong repo .org để tường lửa ứng dụng.

Các vấn đề liên quan