問題タブ [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 投票する
1 に答える
2627 参照

spring-ldap - Spring 組み込み LDAP 取得エラー:「デフォルト スキーマを使用して、サーバーからスキーマ情報が返されません」

spring-security-ldap の ApacheDSContainer クラスを使用して組み込み LDAP サーバーを起動し、LDIF をインポートした後、Apache Directory Studio を使用して LDAP サーバーに接続しようとします。次に、エラーがポップアップします。

エラーを無視すると、すべての機能が正常に動作します

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

openldap - LDAPで削除されたレコードを追跡する

連絡先の保存にはOpenLDAP2.3を使用しています。

Spring LDAPを使用してJavaプロジェクトを構築し、連絡先を毎週エクスポートしました。エクスポートファイルでは、連絡先が新しく追加された場合、または既存の連絡先が変更された場合にフラグを立てます。これは正常に機能します。問題は、LDAPで連絡先が削除された場合です。連絡先が削除されると、LDAPでレコード全体が削除されます。

LDAPに削除されたレコードを追跡する方法はありますか?

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

java - InvalidAttributeValueException の原因の区別

LDAP エラー コード 19 (パスワード ポリシー エラー) の原因をインスタンスで特定しようとしているInvalidAttributeValueExceptionので、UI に有益なエラー メッセージを表示できます。

私が現在使用している LDAP サービスは openLDAP (アプリケーションに組み込まれた LDAP として) であり、表示するのに十分な情報を提供するメッセージ (つまり"[LDAP: error code 19 - Password fails quality checking policy]"& "[LDAP: error code 19 - Password is in history of old passwords]")を提供します。

しかし今、私はActive Directoryと他のLDAPプロバイダー(外部になる)をサポートしたいと思っています.rfc2251や他のさまざまなソースで見たものから-すべての実装は独自の例外メッセージを出し、唯一の標準的なものはエラーコード19です.InvalidAttributeValueException 特定の問題へのマッピングとそうでないマッピング。

エラー コード 19 のさまざまな原因を区別するための解決策 (部分的なものであっても) はありますか? InvalidAttributeValueExceptionインスタンスを指定して、その質問に対する回答を LDAP に照会する方法はありますか?

ありがとう

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

ldap - SpringLDAPODM-エントリクラスは最終警告として宣言する必要があります

EntrySpring LDAP ODMを使用してマップされた(「エンティティ」)ものがあります。このクラスで単体テストを実行すると、初期化時にコンソールに警告が表示されます。

マップされたクラスは次のようになります。

この警告に関して、Google検索で関連するものが見つかりません。これをログに記録するSpringコードは次のとおりです。

任意の洞察をいただければ幸いです。クラスをfinalとして宣言することは、クラスを拡張できないことを意味することを理解していますが、Spring ODMが気にするのはなぜですか?

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

spring - Spring Security LDAP および MD5 ハッシュ化パスワード

LDAP を使用してプロジェクトにアクセスしようとしています。ユーザー名とパスワードの入力を求めるプロンプトが正常に表示されますが、正しい資格情報を入力すると、プロンプトが再びポップアップ表示されます (資格情報が間違っているようですが、そうではありません)。

これが私のsecurity-context.xmlです:

パスワードは {MD5} ハッシュとして保存されます...そして、jsr 250 APIを使用しています。

編集:@TobyHobsonこれによりorg.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 38; cvc-complex-type.2.4.a: Invalid content was found starting with element 'password-encoder'. One of '{"http://www.springframework.org/schema/security":password-compare}' is expected.

EDIT2: @TobyHobsonの配置はコンパイルさpassword-compareれてpassword-encoderいるようですが、それでも正しい資格情報が拒否されます。

EDIT3: 必要なログは次のとおりです。

EDIT4: jsr 250 api とグループ/ロールに関係があると思います。これが私のldifです:

私はコントローラーで使用@RolesAllowed({ Role.ROLE_ADMIN, Role.ROLE_MANAGER, Role.ROLE_VIEWER })しましたが、これは私の抽象ロールクラスです:

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

java - LDAP から自分の Active Directory パスワードを変更できますか (管理者アカウントなしで)

私は管理者アカウントを持っていません (そして今後も持っていません)。Active Directory で自分自身 (ユーザー) のパスワードを Java から変更したいと考えています。これどうやってするの?

Web からのコードの使用:

ここにcontextSourceがあります

私が得た:

userDn を「cn=smith」に変更すると、次のようになります。

LdapErr: DSID-0C0903A9、コメント: AcceptSecurityContext エラー

おそらく私の問題は、LDAP がどのように機能するかを理解していないことでしょうか? 可能ですか(ユーザーアカウントを使用してユーザーパスワードを変更します)?また、可能であれば、同じ権限でアカウントがロックされている/期限切れになっていることを確認できますか?

更新 / 解決

助けてくれてありがとう。それは私もとても役に立ちました。

将来の検索者のために:

NO_OBJECT - アクティブ ディレクトリがオブジェクト (my cn=Users,cn=Smith) を見つけられないことを意味します。ユーザー カタログへの完全修飾正規パスを見つけるには、ユーザー属性「識別名」を使用できます (私の場合、最悪の場合は「cn=John\, Smith",ou=請負業者,ou=ユーザー アカウント,ou=アカウント" )

それから私は得ました:

WILL_NOT_PERFORM - これはさまざまな種類のことを意味します。私の場合、間違ったオブジェクトタイプがありましたが、以下で説明するように、SSL接続ではなく( ldaps://ではありません)、その他の可能性があります。

それから:

INSUFF_ACCESS_RIGHTS - ユーザー (管理者には REPLACE-password 属性の権限がない)。パスワードを変更するには、古いパスワードと新しいパスワードを入力してから、古いパスワードを削除して新しいパスワードを追加する必要があります。

問題 1005 (CONSTRAINT_ATT_TYPE) - 古いパスワードが間違っている場合

ところで

javax.naming.PartialResultException: 未処理の継続参照。残りの名前 '/' - 個人/ユーザーをグローバルに検索する場合 (たとえば、認証メソッドで) ldapTemplate.setIgnorePartialResultException( true ); それを修正できます

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

java - Spring 3.1 LDAP 認証プロセス: 資格情報が適切な場合の「資格情報が正しくありません」というメッセージ

春 3.1 トムキャット 6.*

LDAP で認証する Spring 3.1 webapp の作成に取り組んでいます。

私が作成した JNDI スタイルの Java プログラム (以下に引用) を使用して、LDAP 資格情報 (ユーザー名、パスワード、LDAP URL、検索パターン) をテストしました。そのプログラムは機能し、LDAP サーバーで暗号化されていると思われるパスワードを含むすべてのユーザー属性をダンプしました。

Spring 3.1 で同じ資格情報を使用してログインしようとすると、「Bad Credentials」というエラー メッセージが表示されます。

ログに次のメッセージが表示されました。

*-security.xml で、タグを使用してパスワードの比較とエンコードを実行しようとしましたが、役に立ちませんでした。md4,md5,plaintext,sha,sha-256,{ssha},{sha} を使用してみましたが、役に立ちませんでした。

私のネットワーク グループは、大きくて遅い、官僚的な組織です。彼らに連絡せずに、彼らが使用しているエンコーディングを知る方法はありますか?

私がチェックアウトできることのアイデアはありますか?

これは、私の最後の試行時の *-security.xml であり、接続できた Java LDAP デモです。

ありがとう。

私の *-security.xml ファイル:

以下は、同じ資格情報で動作する JNDI スタイルの LDAP Java プログラムです。


解決


Luke Taylor からのこのコメントは、構成を機能させるのに役立ちました。

LDAP サーバー URL に「o=acme.com」があり、ユーザー DN パターンにも「o=acme.com」を使用しているという点で、構成が間違っています。

DN パターンから「o=acme.com」を削除すると、LDAP が機能しました。私はSpring 3.1とLDAPが初めてなので、もともと「o=acme.com」をLDAP URLとDNパターンの両方に入れていました。これは、LDAPのJava JNDIバージョンで行われた/行われた方法に似ています私が置き換えているレガシーコードに基づいて書いたデモ。

これが私の *-security.xml の最終的な動作バージョンです

彼の他のコメントを調べて、パスワードのエンコードを元に戻すことができるかどうか、または必要があるかどうかを確認します。

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

spring-ldap - Tomcat でのカスタム LdapContextSource 実装の javax.naming.NotContextException

Oracle Internet Directory API を使用して接続するために、Spring-ldap 接続プーリングと contextSource のカスタム実装を使用しています。これは、Eclipse でスタンドアロンをテストするときに機能します。ただし、Tomcat にデプロイすると、「DirContext のインスタンスではありません」で失敗します。Spring の LdapContextSource を使用すると問題なく動作します [ただし、一部の操作は失敗し、OID API のコンテキストで動作します]。以下は構成とコードです

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

spring-mvc - Spring Roo を使用した LDAP CRUD

現在Spring Rooでシステムを構築中。Spring Security で LDAP サーバーにログインできます。しかし、Spring Roo で LDAP CRUD を構成する方法がわかりません。

Roo は MVC を自動的に生成します。ここから、contoller、applicationContext.xml、自動生成される Entity クラスを変更する必要があると思います。どなたかご存知の方、親切に教えてください。

ありがとう、

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

java - SpringLDAPトランザクションマネージャー

Springとのトランザクションロールバックに関して混乱するシナリオがあります。

新しいユーザーを正常に作成し、グループに追加して役割を割り当てていますが、「ユーザーは既に存在します」などの例外についてトランザクションロールバックをテストしようとすると、問題が発生します。

そのため、既存のユーザーを作成しようとすると、Springが例外をトリガーし、ロールバック操作が開始されますが、何も起こらず、ユーザーはユーザーリストに残ります。

私の質問は、ロールバックのメソッドを作成する必要があるのか​​、それとも私に代わってこれをSpringで処理するのかということです。

私はドキュメントにかなりの時間を費やしましたが、私は少し春/ LDAP初心者なので、苦労しています

前もって感謝します

イアン