Страница 4 из RFC 2253 :
Если экранируемый символ входит в список, показанный выше, то перед ним ставится обратный слеш ('\' ASCII92).
Таким образом, экранированная запятая должна быть \,
, а экранированная обратная косая черта должна быть \\
.
Запятая - это разделитель в DN. Например:
cn=admin,ou=marketing,o=corporation
, поэтому его необходимо экранировать только в том случае, если не используется в качестве разделителя, например:
cn=Smith\, John,ou=marketing,o=corporation
Active Directory завершитсяэто для вас, если вы создаете объект с CN, который имеет запятую.
Обратная косая черта - это специальный символ, потому что он используется для экранирования других символов. Поэтому, если вы не используете его для этой цели, его нужно экранировать, используя саму себя:
cn=North\\South America,ou=marketing,o=corporation
Хотя в этом примере я использовал бы косую черту ("Север / Юг")Америка "), что поднимает еще один вопрос (не связанный с вашей непосредственной проблемой, но стоит упомянуть): косая черта не является специальным символом в DN, но они находятся в путях LDAP. Так что если у вас есть DN вроде этого:
cn=North/South America,ou=marketing,o=corporation
Тогда, если вам нужно использовать это в пути LDAP, вы не можете просто вставить это в:
LDAP://cn=North/South America,ou=marketing,o=corporation
, потому что /
является символом-разделителем, поэтому можно подумать, что DN это просто cn=North
. В этих случаях вам также необходимо избежать обратной косой черты:
LDAP://cn=North\/South America,ou=marketing,o=corporation
Но только при использовании его в пути LDAP.