2011-12-14 3 views
0

「DC =あいまい」文字列を持たないDNを見つけるためにフィルターを作成する必要があるという問題があります。等号のCFLDAPフィルター

ので、私が持っている:

(!(distinguishedName='*DC=blah*')) 

しかし、それはうまく通じ取得されていません。

お願いします!

EDIT:申し訳ありません。検索文字列にアスタリスクを入れるのを忘れていました。

答えて

0

私はそれが好きな方法でフィルタリングされたDNを取得する方法がないように思われたので、CFQUERYを使用して2番目のフィルタリング方法を使用しなければなりませんでした。

<cfquery dbtype="query" name="secondFilter"> 
SELECT * FROM firstFilter WHERE dn NOT LIKE '%DC=blah%' 
</cfquery> 
0

私はここでそれをテストし、多分この

(!(distinguishedName='DC\=blah')) 
+0

これは機能しません。以前と同じメッセージが表示されています。これは「不正な検索フィルタ」です。 – James

1

優れた質問をしてみてくださいすることはできません。あなたが求める否定フィルタは(!(distinguishedName=dc=blah*))です。バックスラッシュは、2つの16進文字が続く場合を除き、アサーションで使用することはできません。引用がアサーションの一部でない限り、引用符は必要ではありません。

これはdistinguishedNameが属性の場合に機能します。それ以外の場合は、拡張可能マッチフィルタでDNコンポーネントを使用する必要があります。詳細については、"LDAP: ldapsearch","LDAP: Mastering search filters"および"LDAP: Programming Practices"を参照してください。

+0

こんにちは、私はそれを試みましたが、結果は返されませんでした。私は非常に多くの異なる方法で試しましたが、フィルタを単独で使用することはできないようです。最後に、リストをフィルタリングするために2ステップを使用しなければなりませんでした。最後のステップは、ColdFusionによって提供される別のフィルタリング関数です。 – James