1 つの Web アプリケーションが REST サービスとユーザー向け Web アプリケーションを提供する、同様のアプリケーション セットアップがあります。私の知る限り、JOSSO はユーザー向けの SSO 認証を提供し、残りのサービスと連携することを意図していません。
代わりに、JOSSO 構成では無視される web-resource-collection の下のデプロイメント記述子 (web.xml) で残りのサービスの URL を定義しました。次に、残りの認証を個別に処理するための別のフィルターを定義しました。すなわち:
web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>public-resources</web-resource-name>
<url-pattern>/restservices/</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
</security-constraint>
josso-agent-config.xml
<configuration>
<agent:agent-configuration>
<agent:partner-apps>
<agent:partner-app id="myapplication-sp" vhost="10.1.8.11" context="/myappcontext" ignore-web-resource-collections="public-resources"/>
</agent:partner-apps>
</agent:agent-configuration>
</configuration>
これにより、JOSSO を使用して Web アプリケーションのほとんどを保護し、残りのサービスを無視することができました。残りのサービス (Spring) にカスタム認証フィルターを使用しました。
お役に立てれば!