클라이언트의 Linux 기반 하드웨어 방화벽 문제를 해결하고 있습니다. 이 하드웨어 방화벽은 Single SignOn 인증을 위해 ActiveDirectory에 연결됩니다.
ActiveDirectory는 내가 아는 한 LDAP의 변형 된 버전 일뿐 아니라 같은 BindDN 구문을 사용합니다. 틀린 경우 수정하십시오.
클라이언트는 이것을 BindDN으로 구성했습니다. 실제 문자열은 개인 정보 보호를 위해 대체되었지만 특수 문자와 공백은 남아 있습니다. “somerandomplace \ fubar fubaz”
이것은 나에게 유효한 BindDN 구문이 아닌 것 같습니다. 전에 LDAP로 작업 한 적이 있지만 테스트 버튼을 눌러이 BindDN을 테스트하면 테스트에 성공합니다. BindDN의 문자 중 하나만 변경하고 테스트를 다시 실행하면 테스트가 실패합니다.
문제가 무엇인지 파악하려고합니다.
A) BindND의 뉘앙스와 관련 구문을 완전히 이해하지 못합니다.
또는
B) 기기가 입력을 제대로 확인하지 못하고 테스트를 성공으로 잘못 식별하는 경우
답변
LDAP는 단지 프로토콜입니다. Greg가 말했듯이 Microsoft의 Active Directory에서의 구현은이를 정의하는 다양한 RFC를 준수합니다. (그에게 +1)
더그의 대답은 그가 유효한 바인드 DN의 한 예를 제공한다는 점에서 부분적으로 맞습니다. 그러나 Active Directory에서는 특히 바인드 DN 값을 다른 형식으로도 보낼 수 있습니다. 내 의견으로는 사용하기에 가장 좋은 형태 UserPrincipalName (UPN)
는 명시 적으로 변경되지 않는 한 일반적으로 다음과 같은 형태입니다.
- <sAMAccountName> @ <도메인 FQDN> (예 : user1@contoso.com)
일반 DN 값에 비해이 이점은 사용자 계정을 AD 내에서 이동할 수 있으며 자격 증명을 사용하는 응용 프로그램에서 구성을 업데이트 할 필요가 없다는 것입니다.
또한 기존 NetBIOS 형식 일 수 있으며이 형식은 클라이언트가 사용중인 것으로 보입니다.
- <도메인 NetBIOS 이름> \ <sAMAccountName> (예 : CONTOSO \ user1)
이것은 UPN 값과 동일한 이점을 갖지만 다시 레거시로 간주됩니다. NetBIOS 이름은 오래 전에 죽었을 것이지만, 그것은 다른 스레드에 대한 열망입니다.
답변
바인드 DN은 사용자 컨테이너에있는 사용자의 CN = username, CN = Users, DC = yourdomain, DC = com입니다.
Active Directory가 인식하는 경우 sAMAccountname 속성을 검색하기 때문에 사용자 이름 만 입력하면 작동 할 수 있습니다. 도메인 이름 앞에 사용자 이름을 붙이지 마십시오.
답변
Microsoft의 LDAP 구현은 호환됩니다. 모든 문자는 DN에서 유효합니다. 특수 문자가 있으면 이스케이프해야합니다. 공백이 앞뒤로 나오지 않는 한 탈출 할 필요가 없습니다. 문자는 백 슬래시 또는 \ nn 16 진수로 이스케이프 할 수 있습니다.
고유 이름
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366101%28v=vs.85%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