Điểm:0

Cách để Gravitee thực hiện tra cứu nhóm đệ quy

lá cờ ru

Tôi đã thiết lập Gravitee APIM 3x (cổng, rest-api, bảng điều khiển và cổng thông tin). Điều này làm việc tốt. Khi cố gắng thay thế xác thực bộ nhớ bằng xác thực LDAP (FreeIPA), tôi có thể yêu cầu dịch vụ đăng nhập người dùng nhưng họ không được giao vai trò.

Lý do cho điều này là nó đang sử dụng DN đầy đủ của người dùng trong trường memberUid, trường này chỉ có tên người dùng trong đó.

Một nhận xét từ @abbra khiến tôi nhận ra rằng tôi đã quên cách tổ chức các nhóm của mình. Chúng ta có một tập hợp các nhóm cơ sở, gọi chúng là các vai trò, các vai trò này là thành viên của các nhóm khác nhau. Vì vậy, khi tra cứu trường thành viên trong cn=groups,cn=accounts,dc=somedomain,dc=com đối với các nhóm Gravitee, nó sẽ đề cập đến một nhóm khác có chứa hội viên các trường với người dùng hoàn chỉnh dn.

Vì vậy, câu hỏi bây giờ trở thành, làm cách nào tôi có thể tra cứu nhóm theo cách đệ quy trong Gravitee? Có thể không, hay tôi phải thêm từng thành viên vào nhóm một cách rõ ràng?

Làm thế nào tôi có thể giải quyết điều này? Tôi bỏ qua câu hỏi ban đầu.

Ngày 04 tháng 2 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.646 [gravitee-listener-44] GỠ LỖI o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Tìm kiếm vai trò cho người dùng 'my_user', DN = 'uid=my_user,cn =users,cn=accounts,dc=somedomain,dc=com', với bộ lọc (&(objectClass=posixGroup)(memberUid={0})) trong cơ sở tìm kiếm 'cn=groups,cn=compat'
Ngày 04 tháng 2 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.647 [gravitee-listener-44] GỠ LỖI o.s.s.l.SpringSecurityLdapTemplate - Sử dụng bộ lọc: (&(objectClass=posixGroup)(memberUid=uid=my_user, cn=users,cn=accounts,dc=somedomain,dc=com))
Ngày 04 tháng 2 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.713 [gravitee-listener-44] GỠ LỖI o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Vai trò từ tìm kiếm: []
Điểm:0
lá cờ ng

thành viênUid thuộc tính theo định nghĩa chỉ chứa chính uid. Nếu bạn cần một DN đầy đủ, bạn nên sử dụng hội viên thuộc tính trong mục nhập nhóm và thành viên của trong mục nhập của người dùng.

Tôi khuyên bạn nên tránh sử dụng cây compat nếu có thể. Chắc chắn không trộn lẫn cả cây con compat và bình thường. Sử dụng cn=accounts,dc=somedomain,dc=com như một DN cơ sở và sau đó sử dụng cn=nhóm cho cơ sở nhóm, cn=người dùng cho cơ sở của người dùng.

Mogget avatar
lá cờ ru
Tôi đã xem xét những gì bạn đã viết và tôi nhận ra rằng những gì bạn viết là chính xác và các nhóm (không tương thích) có các trường thành viên, nhưng trong trường hợp của chúng tôi, trường này là "đệ quy" ở chỗ nó đề cập đến một nhóm khác vì chúng tôi cố gắng trở thành dựa trên vai trò thay vì thêm người dùng trực tiếp vào từng nhóm. Vì vậy, câu hỏi bây giờ là làm cách nào để phần nhóm tra cứu trường thành viên và khi nó tìm thấy một nhóm khác, hãy tìm trong đó để kiểm tra xem người dùng có phải là thành viên hay không. Tôi sẽ cập nhật câu hỏi để phản ánh điều này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.