2

JAAS javax.security.auth.spi.LoginModule を拡張し、WAS サーバーにインストールしました。できます; すべてのログインはこの新しいクラスのコードを通過し、ログインを許可しないように指示されている場合は、ログインできなくなります。

根本的な問題: 管理コンソール (/ibm/console) のログインをフィルタリングしたくないのですが、サーバー上のその他のログインをフィルタリングしたいのです。利用可能なセットアップでは、管理画面を含め、サーバーにインストールされているすべてにログインモジュールが適用されると思います。

LoginModule の呼び出しをトリガーしたページの URL を取得することで、これを解決したいと思います。WebLogic を使用していた場合は、URLCallback を使用して URL を取得します。Websphere Application Server にそれと同等の機能があるかどうか、または別の回避策があるかどうかは誰にもわかりませんか?

潜在的に役立つ追加情報として、サーバー上の個々のアプリに JAAS を適用することはできません。デプロイメント記述子は管理コンソールでグレー表示されます。新しい JAAS JAR モジュールをサーバー全体にしか適用できないので、これが問題です。

4

1 に答える 1

1

Weblogic は weblogic.security.auth.callback.URLCallback を使用してこれを行い、WAS は WSServletRequestCallback を使用してそれを行います。

callbacks[0] = new com.ibm.wsspi.security.auth.callback.WSServletRequestCallback(
                "HttpServletRequest: ");

(コールバックをロード)

HttpServletRequest request = ((WSServletRequestCallback)callbacks[3]).getHttpServletRequest();
String contextPath = request.getContextPath();

そこから行ってください。

于 2010-04-14T19:34:00.407 に答える