2011-08-25 23 views
5

Sự khác biệt b/n thuộc tính memberOf và thuộc tính groupMembership khi được sử dụng trong cài đặt Xác thực LDAP trong Liferay là gì?memberOf vs. groupMembership in LDAP (Liferay)

Người dùng được nhập thành công. Các nhóm cũng được nhập thành công.

Nhưng người dùng không được tự động gán cho nhóm. Và khi tôi thay đổi biến nhóm từ 'groupMembership' thành 'memberOf', nhiều người dùng không thể đăng nhập vào Liferay.

Chính xác thì biến memberOf và groupMembership là gì?

LDAP Liferay Settings

Trả lời

13

memberOf không phải là một "biến", nó là một thuộc tính, hay chính xác hơn, nó là một thuộc tính ảo, hoặc một thuộc tính năng động tạo ra khi đang bay bằng một số máy chủ thư mục, nhưng không phải tất cả. Một số sử dụng memberOf để sử dụng trong bộ lọc tìm kiếm hoặc trong danh sách thuộc tính của yêu cầu tìm kiếm, một số sử dụng isMemberOf cho cùng một mục đích, một số hỗ trợ cả hai hoặc không, và có thể có các thành ngữ khác mà tôi không biết.

Nói chung, để xác định tư cách thành viên nhóm, hãy đưa ra yêu cầu tìm kiếm tới máy chủ thư mục và chỉ định memberOf hoặc isMemberOf để được trả lại trong danh sách thuộc tính. Dưới đây là một ví dụ sử dụng một công cụ dòng lệnh ldapsearch hiện đại:

ldapsearch --port 1389 --baseDn 'ou=people,dc=example,dc=com' \ 
    --sizeLimit 3 --searchScope one --bindDn 'cn=directory manager' \ 
    --bindPasswordFile ~/.pwdFile '(uid=user.0)' isMemberOf 
dn: uid=user.0,ou=people,dc=example,dc=com 
isMemberOf: cn=Dynamic Home Directories,ou=groups,dc=example,dc=com 
isMemberOf: cn=bellevue,ou=groups,dc=example,dc=com 
isMemberOf: cn=shadow entries,ou=groups,dc=example,dc=com 
isMemberOf: cn=persons,ou=groups,dc=example,dc=com 

phản ứng tìm kiếm này chỉ ra rằng user.0 là thành viên của các nhóm được liệt kê.

Để đảo ngược ý nghĩa của truy vấn, có nghĩa là, để xác định mục là thành viên của một nhóm, sử dụng isMemberOf hoặc memberOf với một khẳng định trong bộ lọc được sử dụng trong các yêu cầu tìm kiếm:

ldapsearch --port 1389 --baseDn 'ou=people,dc=example,dc=com' \ 
    --sizeLimit 3 --searchScope one --bindDn 'cn=directory manager' \ 
    --bindPasswordFile ~/.pwdFile \ 
    '(isMemberOf=cn=persons,ou=groups,dc=example,dc=com)' 1.1 
dn: uid=terrygardner,ou=people,dc=example,dc=com 

dn: uid=user.0,ou=people,dc=example,dc=com 

dn: uid=user.1,ou=People,dc=example,dc=com 

dn: uid=user.10,ou=People,dc=example,dc=com 

Phản hồi tìm kiếm này cho biết có một số thành viên của nhóm có tên phân biệt là cn=persons,ou=groups,dc=example,dc=com.

Mặc dù không cụ thể cho LifeRay, bên trên là giải thích chung về một cách để đối phó với tư cách thành viên nhóm và cũng có tư cách thành viên nhóm ngược lại từ phối cảnh LDAP.

+0

Mặc dù bạn chưa trả lời trực tiếp câu hỏi của mình, nhưng bạn đã cung cấp cho tôi đủ thông tin để tôi có thể hiểu được tất cả những gì về nó. Cảm ơn Terry. Cảm kích điều đó. –