2

次の問題があります。1つのサーバーに、SAMLトークンを使用した認証を必要とする/protected/フォルダーがあります。

このフォルダ内のリソースにアクセスしようとすると、最初にログインページにリダイレクトされ、ログイン後にリソースにアクセスできます。

ここで、必要なすべてのリソースを含む.jnlpファイルを/protected/フォルダー内に追加しました。.jnlpファイルにアクセスしようとすると、期待どおりにログインページが表示されます。Java Web Startにログインした後、初期化してリソースのダウンロードを試みます。

ただし、Smart Startはすぐに失敗し、.jnlpファイルを解析できなかったと文句を言います。デバッグコンソールを調べると、Javaがjnlpファイルではなくログインページをダウンロードしていることがわかります。したがって、Java Web Startアプリケーションはブラウザのクレデンシャルを共有していないようです。そのため、新しいログインが必要です。

私のIDプロバイダーはZXIDであり、SAMLを使用しています。Java Web Startは、どういうわけかブラウザと同じSAMLトークンを使用する必要があると思いますよね?これは正しいです?出来ますか?

これまでの調査では、ブラウザが.jnlpファイルを見つけると、すぐにJavaを起動し、Javaアプリケーションがjnlpをダウンロードしようとするため、この問題が発生するようです。JNLPファイルにコードベースエントリが含まれていてはならないことがわかりました。それ以外の場合、Java VMはファイルを再ダウンロードしようとしますが、認証されていないため、ログインページを取得します。

ただし、JNLPを読み取ることができる場合は、JWSが認証されないため、リソースを保護領域に配置することもできません。

したがって、必要なのは、JWS VMがブラウザからセッションIDを取得することであると思います。そのため、認証済みと見なされます。

何か案は?

4

1 に答える 1