2013-06-08 24 views
8

Xin chào Tôi đang cố gắng sử dụng máy chủ thử nghiệm ldap của mình để xác thực người dùng trong openca.Máy chủ LDAP là cơ sở của tôi dn

Tôi hiện đang kết nối thông qua phpldapadmin với:

Đăng nhập DN: cn = admin, dc = Ví dụ, dc = com
Mật khẩu: mypass

nhưng trên openca một cái gì đó đang xảy ra sai ... trong datasources.xml Tôi đã tìm thấy cài đặt của cấu hình ldap và yêu cầu

<name>basedn</name> 

là dựa cho tôi? Tôi đã cố gắng

cn=admin,dc=example,dc=com 

dc=example,dc=com 

tôi có thể kết nối với ldap của tôi với LDAP explorer quản lý quá.

Cảm ơn!

Trả lời

17

Cơ sở dn là dc=example,dc=com.

Tôi không biết về openca, nhưng tôi sẽ thử câu trả lời này vì bạn nhận được rất ít lưu lượng truy cập cho đến nay.

Cơ sở dn là điểm mà từ đó máy chủ sẽ tìm kiếm người dùng. Vì vậy, tôi sẽ cố gắng chỉ cần sử dụng admin làm tên đăng nhập.

Nếu openca cư xử giống như hầu hết các ứng dụng nhận thức được ldap, đây là những gì sẽ xảy ra:

  1. Chức năng tìm kiếm ldap cho người sử dụng admin sẽ được thực hiện bởi các máy chủ bắt đầu tại dn cơ sở (dc=example,dc=com).
  2. Khi người dùng được tìm thấy, toàn bộ dn (cn=admin,dc=example,dc=com) sẽ được sử dụng để liên kết với mật khẩu đã cung cấp.
  3. Máy chủ ldap sẽ băm mật khẩu và so sánh với giá trị băm được lưu trữ. Nếu nó khớp với nhau, bạn đang ở.

Bước 1 phải là phần khó nhất, nhưng chủ yếu là do chúng tôi không thường xuyên làm điều đó. Những điều bạn cần phải chú ý trong tệp cấu hình của mình là:

  • dn ứng dụng của bạn sẽ sử dụng để liên kết với máy chủ ldap. Điều này xảy ra khi khởi động ứng dụng, trước khi bất kỳ người dùng nào đến xác thực. Bạn sẽ phải cung cấp một dn đầy đủ, có thể một cái gì đó như cn=admin,dc=example,dc=com.
  • Phương thức xác thực. Nó thường là một "ràng buộc đơn giản".
  • Bộ lọc tìm kiếm người dùng. Xem thuộc tính có tên objectClass cho người dùng admin của bạn. Nó sẽ là inetOrgPerson hoặc user. Sẽ có những người khác như top, bạn có thể bỏ qua chúng. Trong cấu hình openca của bạn, phải có một chuỗi như (objectClass=inetOrgPerson). Dù nó là gì, hãy chắc chắn nó phù hợp với đối tượng người dùng quản trị của bạn Class. Bạn có thể chỉ định hai lớp đối tượng với bộ lọc tìm kiếm này (|(objectClass=inetOrgPerson)(objectClass=user)).

Tải xuống trình duyệt LDAP, chẳng hạn như Apache's Directory Studio. Kết nối bằng thông tin đăng nhập của ứng dụng, vì vậy bạn sẽ thấy những gì ứng dụng của bạn nhìn thấy.

+0

Tôi đã thiết lập LDAP bằng một số công cụ khác sau các hướng dẫn tương tự như OP. Tôi phát hiện ra rằng dn cho tài khoản quản trị của tôi là "cn = admin, cn = người dùng, dc = example, dc = com". Vì vậy, có thể bạn sẽ phải đặt tên cơ sở thành "cn = users, dc = example, dc = com" – GroundZero

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