問題タブ [spring-security-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.
grails - ログインに成功した後、Grails Spring Securityが保存されたリクエストにリダイレクトしない
認証/承認にGrails Spring Security 1.2.7.3、Spring Security LDAP 1.0.6、およびSpring Security CAS 1.0.5プラグインを使用するGrails 2.2.5アプリケーションがあります。ログイン、役割、シングルサインオンはすべて正常に機能します。しかし、何らかの理由で、アプリが CAS 経由でログインした後、要求された URL にリダイレクトされません。常にデフォルトのターゲットを使用するように構成をセットアップしていません。
ログを上げたところ、リクエストが保存されていることが報告されました。
それは実際には正しい URL です。ただし、ログイン後、ログには次のように報告されます。
と...
その後、アプリケーションは へのリダイレクトに進みますが/index.gsp
、これは正しくありません ( /bookstoreAdmin
.
以下は私の構成設定であり、その後に完全なログが続きます。
春のセキュリティ構成:
ロギング:
spring - Spring Security Logout へのパラメーターの追加
はい、Spring Security Logout にパラメーターを追加できますか。以下のように、security.xml でログアウト要求を構成しました。
<sec:logout invalidate-session="true" logout-success-url="/logoutsuccess.do" logout-url="/logout.do" />
ログイン中、ログインに成功した後、Custom Success Handler でユーザー アカウントのさまざまな側面を検証して、アカウントのサブスクリプション ステータス、承認/非承認などを検証し、それに基づいて、いずれかの条件が失敗した場合にログアウト リクエストを送信します。ログアウト ページにカスタム エラー メッセージを表示したいので、そのパラメータをログアウト リクエストとともに送信したいと思います。
spring - @Component をカスタム Spring Security フィルターに追加することの意味は何ですか
GenericFilterBean を拡張するカスタム Spring Security フィルターがあります。
依存関係と Bean の自動作成を行うために、@Component アノテーションを追加しました。
セキュリティ構成では、次のようなフィルターも登録します。
私のフィルターが2回呼び出されることを除いて、すべてうまく機能します...Springはフィルターを標準フィルターにも自動的に追加するようです。
ここで最善のアプローチは何ですか?
アップデート
@Daveこれはあなたが何を意味するのですか?うまくいくようです。
grails - マネージャーなしの Grails Spring Security LDAP
管理者ユーザー/パスを持たずに、ユーザーの資格情報を使用してドメインにバインドするにはどうすればよいですか。
Spring Security LDAP でそれが可能であることは知っていますが、Grails でそれを行うにはどうすればよいですか?
Java でそれを行う方法は次のとおりです。
spring - 複数のミラーリングされていない LDAP サーバーを使用して、接続例外後に続行するように春のセキュリティを構成する
Spring Security と Spring Boot を使用して、4 つの異なる LDAP プロバイダーに渡されたユーザー資格情報をチェックする構成に成功しました。ユーザーが最初のサーバーに存在しない場合は、2 番目のサーバーがチェックされます。すべてのプロバイダーが利用可能な場合、これは完全に機能します。ただし、プロバイダーの 1 つがダウンしている場合、認証チェーンは停止し、Spring は承認されていない例外を返します。
認証は REST ベースのサービス用であるため、失敗ハンドラーを使用して別の URL にリダイレクトしても、状況が改善されるとは思えません。
コンテキスト ソースの urls プロパティについては知っていますが、プライマリ LDAP サーバーと同じ構成を持つミラーリングされた LDAP サーバーへのフェイルオーバーにのみ使用されると判断できます。この構成ではそうではなく、各 LDAP サーバーには独自の別個の構成があります。
複数の StackOverflow の質問と、Spring のドキュメントとアーカイブされたフォーラムを確認しました。私が見たすべての質問と構成は、ミラーリングされたフェイルオーバー構成に関するものであるか、基本的に私が使用している構成と同じものです。
Groovy クラスを介して構成された現在の構成と AuthenticationManager のセットアップは、次のようになります。
Spring Boot は軽量であるため、これを複数の war/jar ファイルに分割できましたが、そのソリューションはサーバー マネージャーによって拒否されました。カスタム認証プロバイダーの実装を検討し、一連の試行をラップする必要がありますか?
最初の AuthenticationProvider が接続できない場合、Spring Security を構成して後続の AuthenticationProvider を引き続き試行する方法はありますか? これは可能であると思いますが、それ以外の場合、複数のタイプのプロバイダーを指定できることの有用性はいくぶん制限されます。ありがとう!
更新:これをローカルに複製するためにいくつかの作業を行いましたが、思うように動作させることができません。また、Spring Security のログを DEBUG に設定してもログ メッセージを取得できません。ただし、返された JSON 応答でいくつかの追加情報を取得できます。以下のメッセージでは、ホスト名が意図的に変更されています。
そのため、Spring Security LDAP プロバイダーが通信例外をラップし、ログに記録せず、自動的に Unauthorized 例外に変換しているように見えます。特に構成で複数のプロバイダーが指定されているため、これは私が予想する動作ではありません。
更新 2: 上記の不明なホストの例外と表示されていることはわかっています。通信タイプの例外を取得するために、意図的に最初のサーバーのホスト名を誤って入力しました。テスト中にネットワークがサーバーに一時的に到達できなかった場合も、同じようなことが起きていました。
spring - 同等の定義プレネームスペースSpring 2.xで
私が使用するSpring 3アプリケーションがあります:
spring 2 に相当する名前空間は何でしょうか。
Spring 3 で LDAP アプリケーションにログインし、Spring 2 で同じメソッドを実装したいためです。
コード spring-secutiy-ldap.xml
例外 :
spring-security - Spring LDAP と Spring セキュリティを使用してパスワードを変更する方法
Spring LDAP と Spring セキュリティの両方の最新バージョンを使用しています。また、注釈ベースの構成を使用しており、XML 構成ファイルがありません。
私が達成しようとしているのは本当に基本的なことです。ユーザーが自分の Web アプリケーションからパスワードを変更できるようにしたいと考えています。
DirContext.modifyAttributes を介してその要求を実行できることがわかりました。このメソッドには 2 つの属性が必要です。最初の属性は現在の userDn です。Spring を簡単に通過する方法がわかりません。それを取得するための機能があると確信しています。
次に、第 2 引数の変更項目としてパスワード属性を使用します。では、ユーザーが提供するパスワードに適用する必要があるパスワード エンコーディングをどのように知ることができますか?
私はSpring LDAP / Securityを使用したことがなく、小さくて単純な例は素晴らしいでしょう. 現在、インメモリ LDAP に対してテストしていますが、週末には実際の LDAP に切り替える必要があります。
ありがとう!
spring-security - Grails で Spring Security LDAP を使用して LDAP ユーザーにクエリを実行しますか?
LDAP ディレクトリの特定のグループ内のすべてのユーザーのリストを取得したいのですが、Spring Security LDAP も使用しています。私の問題を解決できるものは何も見つかりません。
私はすでに Spring Security LDAP を持っており、取得することができcontext
ますprincipal
。
Spring Security LDAP プラグイン関数も読みましたが、すべてのユーザーのリストを取得するものは何も見つかりませんでした。
私は何をすべきか?クエリを作成する必要がありましたか? はいの場合、どのように?
java - Spring Security: アクセスが拒否されました例外
OpenLDAP サーバーを使用して Spring Security を構成しようとしています。ユーザーがアプリケーションを開いたときLDAP
に自分自身にリダイレクトされるように構成しています。LoginController
ただし、アプリケーションに接続しようとするたびに、AccessDeniedException がスローされます。LoginController
これが私の構成です:
そして、これが私のものですLoginController