簡體   English   中英

紅帽目錄服務器-轉義特殊字符

[英]Red Hat Directory Server - Escape special characters

對紅帽目錄服務器運行以下搜索查詢時,出現錯誤“執行搜索時出錯ERR_04149不是有效的轉義值”:

cn = cn \\ 3DnsPwPolicyEntry \\,ou \\ 3Dinternal \\,o \\ 3Dcompany \\,c \\ 3Dgr,cn = nsPwPolicyContainer,ou =內部,o =公司,c = gr

有關如何正確轉義字符的任何想法?

根據LDAP Wiki ,需要轉義的字符為:

逗號,
反斜杠字符
英鎊符號(哈希符號)#
加號+小於符號<
大於符號>
分號;
雙引號(引號)
等號=
前導或尾隨空格

看來您正在嘗試轉義不需要轉義的數字。

另外,以下字符也不需要轉義:

* ( ) . & - _ [ ] ` ~ | @ $ % ^ ? : { } ! '

cn = cn \\ 3DnsPwPolicyEntry \\,ou \\ 3Dinternal \\,o \\ 3Dcompany \\,c \\ 3Dgr,cn = nsPwPolicyContainer,ou =內部,o =公司,c = gr

這在我看來是偽造的,因為此RDN值看起來像您已經用字節編碼轉義了所有等號:

cn\3DnsPwPolicyEntry\,ou\3Dinternal\,o\3Dcompany\,c\3Dgr

如果您確實想使用該值,則還必須轉義逗號。 我敢肯定,通常不會在cn = nsPwPolicyContainer,ou = internal,o = company,c = gr下添加具有這樣的RDN的條目。 無論您使用什么代碼,似乎都存在另一個問題。

為了避免此類問題而不必深入探討RFC 4514,我強烈建議對具有喜歡的引號功能的喜歡的編程語言使用不錯的LDAP模塊軟件包,而不要滾動自己的本地腳本。

這個字符串對我有用:

String globalPolicyDn="cn=cn\\3DnsPwPolicy\\,ou\\3Dinternal\\,o\\3Dcompany\\,c\\3Dgr,cn=nsPwPolicyContainer,ou=internal,o=company,c=gr";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM