問題タブ [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.
spring - Spring Security + Waffle: IE 11 で Kerberos 認証が失敗し、Firefox では正常に動作する
Firefox からページにアクセスした場合に非常にうまく認証できる Spring Boot + Spring Security + Waffle アプリケーションがあります。IE 11 から同じことを行うと、最初の認証シーケンスは正しく実行されますが、リンクをクリックしようとするとすぐに 401 Unauthorized が表示されます。
Fiddler for IE 11 と Firefox で見たものと比較すると、違いがありますが、それがこれに影響するかどうか、またどのように影響するかはよくわかりません。
- Firefox : 401 を取得し、ネゴシエート ヘッダーを使用してリクエストを送信し、set-cookie を使用して 200 を取得します。その時点から Cookie のみを送信し、ネゴシエート ヘッダーは送信しません。
- IE 11 : 401 を取得し、ネゴシエート ヘッダーを含む要求を送信し、Cookie を設定して 200 を取得し、その時点から Cookie とネゴシエート ヘッダーの両方を送信します。
IE が失敗すると、サーバーから次のような応答が返されます。
通常のトラブルシューティング手順を実行し、IE を適切に構成しました。IEでこれを機能させるためにできることはありますか?
java - Javaを使用して現在ログインしているユーザーのUPN(ユーザープリンシパル名)を取得する方法
現在ログインしているユーザーの UserPrincipalName を Java を使用して取得したいのですが、AD に接続してそれを取得できますが、これらすべての構成やその他のものを避けたいのですが、Java を使用して UPN を取得する簡単な方法はありますか?
AD に保存されている UPN は通常、userName@domainName 形式です。ユーザーが john でドメインが vmware の場合、john@vmware が返されます。
お知らせ下さい。
java - Waffle Kerberos SSO - Tomcat ユーザーの偽装変更
Waffle と Kerberos に次の問題があります。
Tomcatで動作し、ワッフルを使用しているKerberosでSSOを備えたJavaサーブレットアプリケーションがあります。
SSO を機能させるには、以下を有効にする必要がありました。
impersonate を false に設定すると、SSO が機能しません :(
ユーザーは SSO を使用してアプリにログインできます。
しかし、その後、偽装の変更 tomcat ユーザーとアプリケーションが管理者権限ではなく、userA または userB として機能することがわかりました。したがって、userA が私のシステム (レポート、ログ、構成ファイル) にファイルを作成すると、彼はファイルの所有者になり、userB がログインしてこのファイルにアクセスしようとすると、アクセス拒否例外が発生します。
次のコードでファイルを作成します。
ユーザーを変更せずにアプリケーションを動作させたいのですが、ユーザーAやユーザーBではなく、Tomcatユーザーがファイル(管理者)を作成、読み取り、追加する必要があります。
ワッフルを使用した Kerberos SSO が必要ですが、このなりすましがこのように機能することは望ましくありません。ワッフルを機能させる他の方法はありますか?それとも、他の方法でファイルを保存できますか?
java - Wildfly 10 Windows 認証
Java Web アプリケーションのサーブレットとセキュリティ フィルタで行き詰まりました。だから私は次のようなweb.xmlを手に入れました:
この小さな投稿に出くわしたため、このセットアップを取得しました: 同じURLマッピングを持つ複数のフィルター
そして、正しい方向に進むのに役立つこの投稿を見つけました:java-sso-with-wildfly-8-java-1-8-0-45-and-active-directory
そのため、フィルター WaffleSSOFilter を介してこの部分にアクセスしようとしています。
私にとって難しいのは、最初のフィルター「com.company.xxx.xxx.xxx.SecurityFilter」がすべての URL に必要なことです。しかし、Web サイトにアクセスするリモート マシンでログインしている Windows ユーザーを認証する機能を有効にするには、WaffleSSOFilter 用の特別な POST URL が必要です。
目標は、通常のユーザー名とパスワードの形式でログイン ページを作成し、Windows 認証を有効にするチェックボックスを用意することです。
このセットアップでは、ユーザー名とパスワードで通常どおりログインできます。アプリケーションは機能しており、これまでのところ良好です。ここで、Windows 認証をテストするために特別な URL に POST 要求を行うと、以前のソース コードに正確にアクセスしたときに java.lang.NullPointerException が発生します。servletRequest.getUserPrincipal().toString()
質問:フィルターのセットアップのどこにエラーがありますか、またはソース コードの何が問題になっていますか?
PS: はい、2 番目の投稿のリンクに記載されているように、要求を有効にするようにブラウザーを構成しました。PPS: 最初のフィルターを削除し、waffle フィルターを介してすべてをルーティングすると、ログインは機能し、NullPointerException は発生しませんが、アプリケーションは完全に壊れています。
java - Spring Boot と Waffle を使用して Spring Security を構成する循環依存エラー
Waffle を使用して Spring Boot アプリケーションの Spring Security を構成しようとしていますが、アプリケーションを実行すると失敗します。waffleNegotiateSecurityFilter の循環依存の問題について何か言っていますが、私はそれを本当に理解しておらず、どこからデバッグを開始すればよいかさえわかりません。
セキュリティ構成
pom.xml
エラーログ
java - ブラウザのポップアップの代わりに Spring Security Waffle 認証用のカスタム フォームを使用する
Waffle を使用して認証する Spring MVC アプリケーションを作成しています。構成に成功し、正常に動作しますが、ブラウザーがネットワーク資格情報を自動的に送信しない場合は、ブラウザーのポップアップの代わりにカスタム フォームを使用したいと考えています。
formLogin()
既存の認証を使用することを期待して使用するように構成を変更しましたが、うまくいきません。
更新: 大きな進歩! Windows ネットワーク資格情報を使用して認証するためのフォームを正常に取得しました。これが私がそれをした方法です:
最初に、元の投稿で省略した Bean 宣言をお見せしましょう。それらは別のクラスにあります。
さて、これは、Windowsネットワーク資格情報で認証するために生成されたスプリングセキュリティフォームを取得した方法です
まず、このタイプの Bean を追加しましたwaffle.spring.WindowsAuthenticationProvider
次に、それを追加してSecurityConfig.java
使用し、http セキュリティ チェーンに認証プロバイダーを設定しました。
ここで、ブラウザが資格情報を送信しない場合にのみフォームを使用する方法を理解する必要があります! うーん....
java - Waffle でクライアントのユーザー名を取得するには?
私は走っTomcat 7
ていWindows 7
ます。すべてのクライアントも実行されていWindows 7
ます。
クライアントのユーザー名をtest.jsp
ページに印刷しようとしているので、Waffle
. こちらがWEB-INF/web.xml
これが私のtest.jsp
ただし、常にserver
コンピュータのユーザー名が出力されます。多くのclient
マシンで試してみましたが、常に ユーザーIDは出力されserver
ませんでしたclient
なんで?これを修正する方法は?