deployment - WebSphere 8 是否有类似于 Tomcat Valves 的东西来拦截请求(不是应用程序内的 Servlet Filters..)?

标签 deployment websphere jaas websphere-8

我必须将通常部署在 Tomcat 或 Jetty 上的现有应用程序配置到 WebSphere Application Server v8 上。我遇到的主要问题是,在部署它的环境中,预计它会通过 JAAS 处理身份验证/授权。不幸的是,该应用程序使用自制的身份验证系统,并且与 JAAS 或 WebSphere 的 JAAS 实现不兼容。

到目前为止,为了提供一个让应用程序能够在 WebSphere 上和谐运行的垫片,我一直在尝试编写一个 WebSphere 信任关联拦截器来从 websphere 的界面中提取主题(通过调用 com.ibm.websphere.security.auth.WSSubject.getCallerSubject()) 并将其放入 HttpServletRequest 中,在正常操作过程中,我的 web 应用程序将提取添加的属性供我们使用。但这似乎……很棘手。它似乎是专门构建的,我们似乎不能将它用于此类操作。

理想情况下,我希望远离应用程序内过滤器,因为我希望尽可能将 IBM 特定代码排除在应用程序之外。

这里有人有什么建议吗?

最佳答案

一个可能的解决方案是使用驻留在应用程序外部的过滤器,类似于以下示例:

https://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101859

这仍然是过滤器链的一部分,其功能与任何其他过滤器相同,但代码不会成为应用程序的一部分。它将驻留在一个单独的 jar 文件中。

关于deployment - WebSphere 8 是否有类似于 Tomcat Valves 的东西来拦截请求(不是应用程序内的 Servlet Filters..)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846952/

相关文章:

websphere - 人性化的 WebSphere 脚本工具/库?

Java 1.5、Java EE 5、WAS 6.1 : Exception loading a resource bundle with ResourceBundle. getBundle(...)

java - 从 MDB 调用时如何调用具有特定角色的 session bean 方法?

amazon-web-services - 使用提供商在多个区域部署 Terraform 资源

deployment - Capistrano 3 通过副本部署

deployment - SSRS-SSRS2008R2中Target Server URL的语法是什么

java - 使用 JAAS 时如何在登录页面中显示错误消息而不是重定向到错误页面

ruby-on-rails-3 - 使用 Capistrano 3 部署 Rails 应用程序时跳过数据库迁移

ssl - Liberty Websphere 上没有共同的密码套件

java - 使用 Java 14 的 WildFly 19.1 上的 ClassNotFoundException : java. security.acl.Group