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 回答