問題タブ [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.
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 コードが返されます。
java - JNDI を使用した LDAP から結果が返されない
spring-ldap を使用して、この検索フィルターを渡しています
メソッドへ
残念ながら、私は結果を得ていません。同じフィルターがLDAP Adminで機能します。
次のフィルターは両方で機能します。
spring-ldap には別のエスケープが必要ですか? 検索ベースとスコープが適切に設定されています。
java - MD5 ハッシュ バイト配列を復号化できません
認証とユーザー管理のためにSpring LDAPでApache DSを使用しています。Apache DS はパスワード フィールドをハッシュされたバイト配列として送信するため、それを文字列に復号化する必要があります。MD5ハッシュを使用しています。
たとえば、Apache DS Studio を使用してパスワードを入力するために使用されるウィンドウは次のとおりです。
(デモンストレーションのために、入力したパスワードが1であることを伝えたいと思います)
Apache DS はパスワード フィールドをハッシュされたバイト配列として送信します。以下のように Spring LDAP を使用して取得しようとすると、[B@66ca6254 . 私はそれを復号化する必要があり、上記のようにc4ca4238a0b923820dcc509a6f75849bである 16 進値を取得しました。
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 が無効であることを意味することがわかりました。
ありがとうございます。
spring - Spring LdapTemplate - 属性 'gidNumber' は例外を許可されていません
Spring LDAPTemplate を使用して OpenLDAP を制御しようとしています。
LDAP には、グループとユーザーの組織単位があります。グループ関連付けを使用して、新しいユーザーを LDAP にバインドしようとしています。(一般ユーザーアカウント)新しいユーザーをバインドしようとすると、gidNumber
属性オブジェクトにも属性を入れます。しかし、次のようなエラーが発生します。
これが私がこれまでに試したことです:
ここに私のスキーマがあります:
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 に接続できました。
- ホスト: dc.fabrikam.com
- ポート: 389
- ベース DN: dc=fabrikam,dc=com
- ユーザー DN: CN=管理者、CN=ユーザー、DC=fabrikam、DC=com
- パスワード:秘密
しかし、私はまだSpring LDAP接続でタイムアウトしています。
更新 2:
ここで説明されているように、JNDI を使用して上記の構成を試し、ldap への接続が正常に機能したため、問題は spring ldap に絞り込まれました。
紹介プロパティが問題になる可能性があると思います。
spring-security - spring security 3.1 は、アクティブなユーザーがログインしている既存のセッションを破棄します
Spring Security 3.1 と LDAP が統合されたアプリケーションがあります。以下は、これまでの要件と実装における重要なポイントです。
- アプリケーションは 1 人のユーザーに対して複数の役割を持ちますが、これらの役割は LDAP には存在しないため、アプリケーションは LDAP からのユーザー名 (またはユーザー ID) のみを認証します。
- ロールはデータベースに個別に保存されます
- LDAP からの認証が成功すると、UserDetailsService を実装することにより、userdetails とロールがプリンシパル オブジェクトのカスタム userdetails オブジェクトに設定されます。
問題:
- ユーザー A がアプリケーションにログインする
- ユーザー B がアプリケーションにログインすると、ユーザー A のセッションが破棄されます (ユーザー A がまだログアウトしていないため、これは発生しないはずです!)
- ユーザー B がログアウトすると、ユーザー A は、ユーザー B がログインしたときにセッションが既に破棄されているため、ページが見つからないことを取得します。
applicationContext-security.xml は次のようになります。
CustomAuthenticationProcessingFilter クラスは次のようになります。
UserTracker クラスは次のようになります。
ユーザーAのセッションが破壊されている理由を誰かが教えてくれますか?
ldap - OpenLdap:Spring LDAP APIからエイリアスオブジェクトを照会する方法は?
Spring LDAP を使用して OpenLdap に接続しています。
特定のベース内に存在するすべてのエイリアスを照会できる方法があるかどうか疑問に思っていますか? ldaptemplate.search を試しましたが、提供されたフィルターに従って、ベース内のオブジェクトのみが返され、オブジェクトに関連付けられたエイリアスは返されません。
答えを楽しみにしています。
java - LdapAttributes を取得する方法
Spring を使用して ActiveDirectory レコードを LDIF 形式のファイルにエクスポートしようとしています。
LDIF ファイルの解析に関する情報はたくさんありますが、LDIF へのエクスポートに関する情報はほとんどありません。SpringにはメソッドがLDIF形式の文字列を返すLdapAttributes
クラスがあるのですが、そもそもインスタンスtoString()
をどこで取得するのかわかりません。LdapAttributes
には何も表示されませんLdapTemplate
。
LdapAttributes
自分でオブジェクトを作成する必要がなく、フレームワークがこれを取得する簡単な方法を提供してくれることを願っています。
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にフィルターをエンコードさせることを好みます。