現在、OSGi アプリケーションで jetty を使用しています。このアプリケーションでは、AppA と AppB を簡単に保つために、独自の WEB_INF を使用して 2 つの Web アプリケーション (個別のバンドル内) を作成しました。この場合、AppA には、OSGi 環境で jetty サーバーを起動するために必要な jetty.xml ファイルも含まれています。
ここで、認証を追加したいと思いました。ドキュメント ( http://www.eclipse.org/jetty/documentation/current/configuring-security.html#configuring-security-authentication ) に従い、必要な構成をすべて追加しました。
Jetty.xml;
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/auth.properties</Set>
<Set name="refreshInterval">5</Set>
</New>
</Arg>
これが唯一のレルムであるため、すべての認証サービスがこれを使用します。これをデプロイすると、(両方のアプリで) セキュリティ制約のある URL を参照するときに、実際にログイン オプションが表示されます。完全であること。フォーム ログイン メソッドを使用しているため、素敵なフォームが表示されます。
ただし、AppA にログインすると、AppB にログインしていません。したがって、localhost/appA/secured に移動してログインすると、localhost/AppB/secured に移動するときにも (同じ資格情報で) ログインする必要があります。
appAにログインするとappBに自動的にログインするように、両方のアプリをリンクする可能性があるかどうか疑問に思っていましたか? 以前のバージョンでは HashSSORealm があったことに気付きましたが、jetty 9 ではもう存在しないようです。