Cú pháp BindDN LDAP / ActiveDirectory


8

Tôi đang khắc phục sự cố tường lửa phần cứng dựa trên linux cho máy khách. Tường lửa phần cứng này kết nối với ActiveDirectory để xác thực Đăng nhập một lần.

ActiveDirectory chỉ là một phiên bản LDAP biến thái theo hiểu biết tốt nhất của tôi và sử dụng cùng một cú pháp BindDN - sửa lỗi cho tôi nếu tôi sai.

Máy khách đã cấu hình cái này là BindDN của chúng - các chuỗi thực tế đã được thay thế vì lý do riêng tư nhưng các ký tự đặc biệt và khoảng trắng vẫn còn. "somerandomplace \ fubar fubaz"

Đây dường như không phải là cú pháp BindDN hợp lệ đối với tôi và tôi đã làm việc với LDAP trước đây, nhưng khi chúng tôi nhấn nút Kiểm tra để kiểm tra BindDN này, thử nghiệm đã thành công. Khi tôi thay đổi chỉ một trong các ký tự trong BindDN và chạy thử nghiệm lại, thử nghiệm thất bại.

Tôi đang cố gắng tìm hiểu vấn đề ở đây là gì:

A) Rằng tôi không hiểu hoàn toàn các sắc thái của BindND và cú pháp liên quan

hoặc là

B) Thiết bị không xác minh đúng các đầu vào và xác định sai thử nghiệm là thành công

Câu trả lời:


14

LDAP chỉ là một giao thức. Và như Greg đã nói, việc Microsoft triển khai nó trong Active Directory tuân thủ các RFC khác nhau định nghĩa nó. (+1 cho anh ấy)

Câu trả lời của Doug đúng một phần ở chỗ anh ta đưa ra một ví dụ về Bind DN hợp lệ. Nhưng Active Directory đặc biệt cho phép giá trị Bind DN cũng được gửi dưới dạng các hình thức khác. Theo tôi, hình thức tốt nhất để sử dụng là UserPrincipalName (UPN)hình thức thường ở dạng sau trừ khi nó được thay đổi rõ ràng.

  • <sAMAccountName> @ <tên miền FQDN> (ví dụ: user1@contoso.com)

Lợi ích của việc này so với giá trị DN bình thường là tài khoản người dùng có thể được di chuyển trong AD và ứng dụng sử dụng thông tin xác thực không phải cập nhật cấu hình của nó.

Nó cũng có thể ở dạng NetBIOS cũ, trông giống như thế này và dường như là những gì khách hàng của bạn đang sử dụng.

  • <Tên NetBIOS tên miền> \ <sAMAccountName> (ví dụ: CONTOSO \ user1)

Điều này có cùng lợi ích với giá trị UPN, nhưng một lần nữa được coi là di sản. Tên NetBIOS đáng lẽ đã chết từ lâu, nhưng đó là một lời ca ngợi cho một chủ đề khác.


Cảm ơn bạn! Nhận xét này về 3 hình thức của DN là mảnh ghép tôi đã bỏ lỡ.
Đánh dấu E. Haase

Không biết bạn có thể sử dụng UPN như một LDAP DN. Ngọt.
Jonathon Reinhart

1
Tôi rất ngạc nhiên khi có nhiều nhà cung cấp ứng dụng chỉ hỗ trợ auth bên ngoài chống lại AD (thông qua LDAP) cũng không biết điều này.
Ryan Bolger

2

Liên kết DN sẽ là CN = tên người dùng, CN = Người dùng, DC = yourdomain, DC = com cho người dùng nằm trong vùng chứa Người dùng.

Nó có thể hoạt động nếu bạn chỉ cần nhập tên người dùng vì nó có thể tìm kiếm thuộc tính sAMAccountname nếu Active Directory của nó biết. Chỉ cần không mở đầu tên người dùng với tên miền.


1

Việc triển khai LDAP của Microsoft là tuân thủ. Bất kỳ ký tự nào là hợp lệ trong một DN. Nếu có nhân vật đặc biệt, họ phải được trốn thoát. Khoảng trắng không cần phải thoát trừ khi nó dẫn đầu hoặc theo sau. Một ký tự có thể được thoát bằng dấu gạch chéo ngược hoặc tương đương hex \ nn.

Tên phân biệt http://msdn.microsoft.com/en-us/l Library / windows / desktop / aa366101% 28v = vs85%
29.aspx

space or # character at the beginning of a string    0x20
space character at the end of a string    0x20
,    comma    0x2C
+    plus sign    0x2B
"    double quote    0x22
\    backslash    0x5C
<    left angle bracket    0x3C
>    right angle bracket    0x3E
;    semicolon    0x3B
LF   line feed    0x0A
CR   carriage return    0x0D
=    equals sign    0x3D
/    forwards slash    0x2F 
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.