問題タブ [waffle]
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 - SSO を使用した Java EE WebLogic および Spring
WebLogic 11 にデプロイされた Spring アプリで SSO を機能させようとしています。これには Waffle 実装を使用しています。
私は設定しました:
entry-point-ref="negotiateSecurityFilterEntryPoint"
そして
<custom-filter ref="waffleNegotiateSecurityFilter" position="BASIC_AUTH_FILTER" />
私も追加しました
MyCustomNegotiateSecurityFilter
は標準の Waffle クラスの単なるコピーなので、影響はありません。
この構成は、IP アドレスを使用してアプリにアクセスする場合は正常に機能しますが、ホスト名を (ドメインと共に) 使用すると、SSO を機能させることができません - 401 Unauthorized 応答。
誰かがそのような行動の理由をアドバイスできるかもしれません。
maven-3 - Mavenにワッフル1.4の依存関係を追加するには?
Waffle 1.4 jar の既存の maven プロジェクト (maven バージョン 3) に依存関係を追加しようとしていました。以前にこれを行ったことがある場合、誰かが私を助けてくれますか?
Waffle バージョン 1.3 ではこの依存関係 XML が見つかりましたが、1.4 では見つかりませんでした。
java - SPNEGO を使用した Java SSO
私はこのトピックの初心者です。Tomcat 6.0.29 で Web アプリケーションの認証 Java SSO を実装するのに助けが必要です。SPNEGO について読んで、 http: //spnego.sourceforge.net/ の helloKDC.java と hello_spnego.jsp の例がうまく機能することを証明しましたが、ソリューションを実装するために従わなければならない手順がわかりません。つまり、リモートユーザーの名前を取得するのに十分ですか? または、その身元を保証し、現在のユーザーのセッションを維持するために何か他のことをしなければなりませんか?.
playframework - Play Framework 2 の Windows ログオン ユーザー SSO
Play Framework Web アプリケーション用に MS Windows ログオン ユーザーで SSO を構成するにはどうすればよいですか?
ユーザーが MS Windows ログイン ユーザーを使用してバックグラウンドで認証が実行されることを期待するエンタープライズ環境に Play Framework Java Web アプリをデプロイしたいと考えています。ユーザーが誰であるかに応じて、Java Web アプリの動作を適応できることが重要です。
これは、たとえば Waffle や SPNEGO を使用して JEE アプリ用に構成できることを理解しています。ただし、Play Framework 2.x アプリケーションでこれを行うにはどうすればよいですか? play2-war-pluginを使用して WAR としてパッケージ化し、JBOSS Application Server にデプロイします。それが良いアプローチである場合、構成を修正する方法に関する情報を見つけるにはどうすればよいですか?
windows - MS アカウントへのログイン後に Windows 8 が異なる認証ヘッダーを送信する理由
私たちは何を持っていますか?
クライアント: win8、ie11、ドメイン資格情報を使用してシステムにログイン。
サーバー: Apache 2.2.22 を超えて実行される 3 つの tomcat7 ノード。アプリケーションはワッフル ライブラリを使用して、sso 方式でドメインにログインしている Windows ユーザーを認証します。
アプリケーションは春のセキュリティを使用しており、このトピックに関する主なことは、フォームを介してログインを処理するフィルターが認証ヘッダーを処理するフィルターの前に来ることです。
- NegotiateSecurityFilterProvider は、NTLM ではなく Negotiate プロトコルのみをサポートします
私達がすること?
直接リンク経由でアプリケーションに入ります: https://app.domain.com/app_name/subordinates.do。大丈夫です。有効な kerberos ヘッダーを持っています (フィドラーが「認証ヘッダー (ネゴシエート) には kerberos チケットが含まれているようです」と説明する、優れた大きな 1 つの kerberos トークンです^^)。 .
ログアウト。
ログイン ページのフォームからログインします。user_name とパスワードを使用してポスト リクエストを作成します。ここでも、同じ kerberos トークンを使用します。アプリケーションは、ワッフル WindowsAuthenticationProvider の助けを借りて、user_name とパスワードを使用してログインします。ここでは、NegotiateSecurityFilter をリッチにする前に認証を受けるため、サーバーからの応答内に kerberos ヘッダーはありません。とにかくすべてが大丈夫です。
OS経由でMSアカウントにログインします。そして魔法が起こります。
直接リンク経由でログインしようとすると、SPRING_SECURITY_LAST_EXCEPTION 定数としてログイン ページに「指定されたハンドルが無効です」というエラーが表示されます。私の推測では、何らかの無効な認証ヘッダーを送信していると思われます
フォーム経由でログインしようとすると、「パラメーターが正しくありません」と表示されます。ここで、空の本文でntlmタイプ1 POSTリクエストを送信すると思いますが、まだ無効なヘッダーがあるため、アプリケーションはそれを認識せず、401応答を送信せず、その後ワッフルがnull名をADに送信し、ここでエラーが発生します(推測)
しかし、フィドラーをオンにして実際に何が起こっているかを確認すると、MS アカウントにログインする前と同じようにすべてが正常に機能し始めます。
OK、サーバーに送信されるヘッダーを把握するために、cmd ファイル内のコードを使用しました。
UDPATED追加コードと出力
ここで私が得るもの:
認証が機能するときにフィドラーが見るのは、kerberos ヘッダーよりもはるかに小さいヘッダーです。
質問は次のとおり
です。 1. MS アカウントにログインすると、サーバーに送信されるヘッダーに影響するのはなぜですか?
2. フィドラーをオンにすると機能し始めるのはなぜですか?
3. このヘッダーのタイプ: oTMwMaADCgEBoioEKE5UTE1TU1AAAQAAAJeCCOIAAAAAAAAAAAAAAAAAAAAABgOAJQAAAA8= をネゴシエートし、サーバーでどのように処理する必要がありますか?
UPDATE 2014 年 3 月 17 日: Wireshark キャプチャは、tgs 要求の後に KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN エラーを示します。サポート チームと調査した結果、異なるノードで Tomcat サーバーを実行するために使用される特別なユーザーが、apache を使用するマシンのドメイン名の spn を持っていないことがわかりました (リソース ドメイン名の spn はありましたが、現在のマシンの spn はありませんでした)。spn が追加された後、問題はなくなりました。