問題タブ [spring-ldap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
5809 参照

java - ldapTemplate.authenticate() を実行するときに baseDN が正しくないのはなぜですか?

Spring の LDAP パッケージを使用して Active Directory に対して認証しようとしていますが、間違った baseDN を指定したというエラーが表示され続けます (Ldap エラー コード 32):

奇妙なことは、ldapsearch コマンドが正確な basedn を使用し、それが機能することです。

次のコードは DN を設定します (ldapContextSource はプログラムで設定されます)。

これが役立つかどうかはわかりませんが、これらは他のフィールドです。

編集: userDN を変更しました: cn=username,out=people,dc=example,dc=com これでもエラー 32 コードが返されます。

0 投票する
1 に答える
340 参照

java - JNDI を使用した LDAP から結果が返されない

spring-ldap を使用して、この検索フィルターを渡しています

メソッドへ

残念ながら、私は結果を得ていません。同じフィルターがLDAP Adminで機能します。

次のフィルターは両方で機能します。

spring-ldap には別のエスケープが必要ですか? 検索ベースとスコープが適切に設定されています。

0 投票する
2 に答える
2201 参照

java - MD5 ハッシュ バイト配列を復号化できません

認証とユーザー管理のためにSpring LDAPでApache DSを使用しています。Apache DS はパスワード フィールドをハッシュされたバイト配列として送信するため、それを文字列に復号化する必要があります。MD5ハッシュを使用しています。

たとえば、Apache DS Studio を使用してパスワードを入力するために使用されるウィンドウは次のとおりです。

(デモンストレーションのために、入力したパスワードが1であることを伝えたいと思います)

ここに画像の説明を入力

Apache DS はパスワード フィールドをハッシュされたバイト配列として送信します。以下のように Spring LDAP を使用して取得しようとすると、[B@66ca6254 . 私はそれを復号化する必要があり、上記のようにc4ca4238a0b923820dcc509a6f75849bである 16 進値を取得しました。

0 投票する
1 に答える
2546 参照

spring-security - 春のセキュリティ 3.1 LDAP

spring security 3.1 を使用して LDAP サーバーに認証しようとしています。

私は LDAP の知識がほとんどありません。

古いコードでは、約 7 歳です。ログインオブジェクトを呼び出すサーブレットがあります

ログインコードは次のとおりです。

春のセキュリティファイルでこれを次のようにしようとしています:

これは正しい方法ですか、私にはわかりません

セキュリティ構成ファイルにあります。

これを春に実装しようとしています(上記のログインクラスファイルにあります) String MGR_DN = mgrdnattrib + "=" + username.toUpperCase() + "," + mgrdnpath; 文字列 MGR_PW = パスワード;

manager-password="{1}" は、マネージャーのパスワードがユーザーが指定したパスワードと同じであることを指定する正しい方法です。?

Java コードで機能する提供されたユーザー名を使用して認証しようとすると、エラーが発生します。

検索を行ったところ、エラー コード 2030 はユーザーの DN が無効であることを意味することがわかりました。

ありがとうございます。

0 投票する
2 に答える
4316 参照

spring - Spring LdapTemplate - 属性 'gidNumber' は例外を許可されていません

Spring LDAPTemplate を使用して OpenLDAP を制御しようとしています。

LDAP には、グループとユーザーの組織単位があります。グループ関連付けを使用して、新しいユーザーを LDAP にバインドしようとしています。(一般ユーザーアカウント)新しいユーザーをバインドしようとすると、gidNumber属性オブジェクトにも属性を入れます。しかし、次のようなエラーが発生します。

これが私がこれまでに試したことです:

ここに私のスキーマがあります:

0 投票する
4 に答える
23047 参照

spring - java.net.ConnectException: LDAP への接続時に接続がタイムアウトしました

spring ldap 1.3.1.RELEASEを使用してWindows Server 2008 の LDAPアクティブ ディレクトリに接続しようとしています。LDAP 構成 は次のとおりです。

  • LDAP URL : ldap://dc.fabrikam.com
  • ユーザー名: 管理者
  • パスワード: 123456

- 春の LDAP 構成は次のとおりです。

  • LDAPContactDAO:

    /li>

-例外の前にデバッグ:

getAllContactNames メソッドを使用しようとすると、次の例外が発生します。

お知らせ下さい。

アップデート:

次の構成を使用して、jxplorerで Active Directory に接続できました。

  1. ホスト: dc.fabrikam.com
  2. ポート: 389
  3. ベース DN: dc=fabrikam,dc=com
  4. ユーザー DN: CN=管理者、CN=ユーザー、DC=fabrikam、DC=com
  5. パスワード:秘密

しかし、私はまだSpring LDAP接続でタイムアウトしています。

更新 2:

ここで説明されているように、JNDI を使用して上記の構成を試し、ldap への接続が正常に機能したため、問題は spring ldap に絞り込まれました。

LDAP 検索が非常に遅い

紹介プロパティが問題になる可能性があると思います。

0 投票する
4 に答える
2043 参照

spring-security - spring security 3.1 は、アクティブなユーザーがログインしている既存のセッションを破棄します

Spring Security 3.1 と LDAP が統合されたアプリケーションがあります。以下は、これまでの要件と実装における重要なポイントです。

  1. アプリケーションは 1 人のユーザーに対して複数の役割を持ちますが、これらの役割は LDAP には存在しないため、アプリケーションは LDAP からのユーザー名 (またはユーザー ID) のみを認証します。
  2. ロールはデータベースに個別に保存されます
  3. LDAP からの認証が成功すると、UserDetailsS​​ervice を実装することにより、userdetails とロールがプリンシパル オブジェクトのカスタム userdetails オブジェクトに設定されます。

問題:

  1. ユーザー A がアプリケーションにログインする
  2. ユーザー B がアプリケーションにログインすると、ユーザー A のセッションが破棄されます (ユーザー A がまだログアウトしていないため、これは発生しないはずです!)
  3. ユーザー B がログアウトすると、ユーザー A は、ユーザー B がログインしたときにセッションが既に破棄されているため、ページが見つからないことを取得します。

applicationContext-security.xml は次のようになります。


CustomAuthenticationProcessingFilter クラスは次のようになります。

UserTracker クラスは次のようになります。

ユーザーAのセッションが破壊されている理由を誰かが教えてくれますか?

0 投票する
1 に答える
297 参照

ldap - OpenLdap:Spring LDAP APIからエイリアスオブジェクトを照会する方法は?

Spring LDAP を使用して OpenLdap に接続しています。

特定のベース内に存在するすべてのエイリアスを照会できる方法があるかどうか疑問に思っていますか? ldaptemplate.search を試しましたが、提供されたフィルターに従って、ベース内のオブジェクトのみが返され、オブジェクトに関連付けられたエイリアスは返されません。

答えを楽しみにしています。

0 投票する
3 に答える
2015 参照

java - LdapAttributes を取得する方法

Spring を使用して ActiveDirectory レコードを LDIF 形式のファイルにエクスポートしようとしています。

LDIF ファイルの解析に関する情報はたくさんありますが、LDIF へのエクスポートに関する情報はほとんどありません。SpringにはメソッドがLDIF形式の文字列を返すLdapAttributesクラスがあるのですが、そもそもインスタンスtoString()をどこで取得するのかわかりません。LdapAttributesには何も表示されませんLdapTemplate

LdapAttributes自分でオブジェクトを作成する必要がなく、フレームワークがこれを取得する簡単な方法を提供してくれることを願っています。

0 投票する
3 に答える
16910 参照

active-directory - rfc2254で指定されているようにエンコードされたobjectGUIDを持つActiveDirectoryフィルターが機能しない

私はjavaldapを使用してActiveDirectory、より具体的にはSpringldapにアクセスしています。フィルタがrfc2254で指定されているようにエンコードされている場合、objectGUIDによるグループ検索では結果が得られません。

これは、16進表現のGUIDです。

spring ldapは、次のようにフィルターをエンコードします。

rfc2254およびmicrosofttechnetで言及されているよう

文字は、バックスラッシュ''文字(ASCII 0x5c)の後に、エンコードされた文字のASCII値を表す2桁の16進数としてエンコードする必要があります。2桁の16進数の場合は重要ではありません。ブロッククォート

したがって、円記号は'\5c'である必要があります

しかし、ADからの上記のフィルターでは結果が得られません。また、そのフィルターをAD管理コンソールのカスタムフィルターに配置すると、機能しません。フィルタから5cを削除すると、JavaとADコンソールの両方で機能します。

ここで何かが足りませんか?

もちろん、5cなしでフィルターをエンコードすることはできますが、それが正しい方法かどうかはわかりません。手動で実行する必要のある多くのことを知っているので、Springにフィルターをエンコードさせることを好みます。