問題タブ [spring-security-cas]
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 シングル サインアウト
Spring Security がシングル サインアウトを処理する方法を理解しようとしています。複数の Grails アプリで CAS サーバーを使用しています。これが私のシナリオです:
アプリ #1 & ログイン
- ユーザーが Grails アプリ #1 に移動します。
- アプリ #1 にはユーザーの認証データがなく、CAS サーバーをチェックします。CAS サーバーにはユーザーの Cookie データがないため、CAS はユーザーにログインを求めます。
- ユーザーが CAS にログインし、有効なチケットを取得します。ユーザーはステップ 1 からアプリ #1 の URL にリダイレクトされます。
- 認証後の最初のリクエストで、アプリ #1 は CAS チケットを SecurityContextHolder に読み込みます。後続のリクエストでは、チケット データを使用して、ユーザーが認証されていることを確認します。
アプリ #2 & ログアウト
- ユーザーは Grails アプリ #2 に移動します。
- アプリ #2 にはユーザーの認証データがなく、CAS サーバーをチェックします。CAS サーバーにはユーザーの Cookie データがあり、このデータを使用してユーザーを認証します。
- 認証後の最初のリクエストで、アプリ #2 は CAS チケットを SecurityContextHolder に読み込みます。後続のリクエストでは、チケット データを使用して、ユーザーが認証されていることを確認します。
ログアウト
- ユーザーは、アプリ #2 のログアウト ページにアクセスして、アプリ #2 からログアウトします。アプリ #2 では、SecurityContextHolder にユーザー データが保存されなくなりました。
- ユーザーは CAS サーバーのログアウト ページにリダイレクトされます。CAS には、ユーザーの有効なチケットがありません。
- アプリ #2 への後続の (保護された) 要求は、ユーザーを CAS ログイン ページにリダイレクトします。
- アプリ #1 の SecurityContextHolder にはまだ CAS チケット データがあるため、アプリ #1 への後続の (保護された) 要求は、ユーザーをログインにリダイレクトしません。コンテキストをクリアするか、何らかの方法で期限切れにする必要があります。
ユーザーがアプリ #1 の保護された URL にアクセスできないようにするにはどうすればよいですか? SecurityContextHolder に設定できる有効期限はありますか?
java - Java 構成を使用して Spring Security CAS サポートを構成するにはどうすればよいですか?
Web アプリケーションに Spring Security を使用して CAS 認証をセットアップしようとしています。ドキュメントに従って、XML 構成の例を Java 構成に変換することができました。しかし、私はすべてを正しく行ったかどうか確信が持てず、セキュリティの機密性を考えると、誰かに間違いがないことを確認してもらいたい.
たとえば、デフォルト設定がもうないことを確認するにはどうすればよいですか (URL に対するリベラルなアクセス許可、異なる認証マネージャーおよび/またはプロバイダーなど...)。
現在の AuthenticationManager を取得する方法は正しいですか?
正しい方法で行ったように EntryPoint を構成していますか?
WebSecurityConfigurerAdapter の使用方法を理解すると、ややこしくなります...
これは私の @Cofiguration クラスです:
java - 呼び出されない同時セッション制御クラス
これは、Spring Security 4.0 RELEASE と Spring Security CAS を使用しています。
Java Config を使用してセッション同時実行管理をセットアップしています。
HttpSessionEventublisher
で有効になっており、WebApplicationInitializer
機能している他のものにも使用しているため、機能していることを確認できます。
ただし、実行時には、コードが呼び出されないように見えます。
Spring Security CA を使用していることに注意してください。これは、セッションの同時実行管理に影響を与える可能性がありますか?
spring - CAS リダイレクト ループを使用した Spring Security
CAS SSO を Web アプリの 1 つに統合するときに、ここ数日間、リダイレクト ループでつまずいていました。これは、CAS のおかげでログインした直後に発生します
CAS と Web アプリの間で交換されている要求を監視しており、機能しているようです。
問題は、ユーザー権限/トークンの不適切な実装に起因する可能性があると思われます。
これが私のファイルです:
私の AuthenticationUserDetailsService クラス:
私が間違っていることは何ですか?
ありがとう !
java - HttpServletRequest.getRequestURL() はスプーフィング可能ですか?
質問は自明だと思います。CAS サーバーを使用して Spring Security 環境をセットアップしています。まったく同じアプリケーションが同じサーバーにデプロイされていますが、サーバーは異なるホスト名 (.de ドメイン、.com ドメイン、場合によってはそれ以上) を介してアクセス可能であり、テスト システムとローカル システムに同じアプリケーションをデプロイしたいためです。同様に、サービス URL が要求 URL から派生する動的サービスを作成しました。
これを偽装することは可能ですか?もしそうなら、追加の正規表現チェックはこれに対して必要なセキュリティを提供してくれますか?
spring - CAS サーバーでユーザーを無効にする方法
SSO 用に CAS サーバー 4.0 を実装しています。3 つのアプリ (Spring CAS セキュリティを備えた Spring Web MVC) が CAS サーバーに接続しています。JPA でチケットを管理し、ユーザー名で CAS の認証をチェックするように CAS サーバーを構成します。現在、アプリのパスワードを忘れた場合の機能を作成しています。パスワードがリセットされた後、CAS サーバーでユーザーの Cookie/セッションを無効にする (またはログアウトする) 方法が問題です (ユーザーがログインして忘れて実行できることに注意してください)。別のユーザーのパスワード)。CASでできますか?どんな助けでも大歓迎です。君たちありがとう。