gpt4 book ai didi

java - 如何阻止访问受 TAM WebSEAL 保护的后端应用程序?

转载 作者:行者123 更新时间:2023-12-01 09:37:18 26 4
gpt4 key购买 nike

我有一个在 Apache Tomcat 7.x 上运行的 Java/JEE Web 应用程序。假设它在以下 URL 上运行:

http://app.example.com:9080/app

我希望通过 WebSEAL 服务器(适用于 eBusiness 6.0 的 TAM)控制对此应用程序的访问。因此,我创建了一个透明路径连接 /app 来访问应用程序。

现在我可以通过 WebSEAL URL 访问它,如下所示:

https://secure.example.com/app

我还创建了一个 ACL,它充当传递并允许任何人使用上述 WebSEAL URL 访问该应用程序。身份验证由应用程序直接控制。因此,我不需要 TAM 来验证用户身份。

我的问题是,如何阻止用户直接通过以下 URL 访问应用:http://app.example.com:9080/app

我想知道是否可以使用某种标识来告诉我请求是来自 WebSEAL 服务器还是直接发送至应用程序 URL。

我尝试在 WebSEAL Junction 上启用这些选项:

在客户端身份 header 下

User Name (Short)
User Name (Full DN)
User Groups List
User Credential

常规选项

Insert client IP header
Insert WebSEAL cookies
Preserve names of cookies
Add cookie path to cookie names

除非用户通过 TAM 进行身份验证,否则这些选项不会添加任何 HTTP header ,这对我来说不是一个选项。如果可以的话,我可以创建一个 WebFilter,它可以在 Java 应用程序中读取此 header ,并在 header 丢失时阻止请求。但运气不佳。

有什么建议吗?

最佳答案

这个问题不一定要从 webseal 范围内回答。

  1. 如果您只想拒绝来自其他服务器的连接,则在防火墙中您可以仅允许来自 WebSeal 服务器的 IP/DNS 的请求。或者您可以从 tomcat 执行此操作,请参阅:

    Tomcat Restrict access by IP address

  2. 如果您想在应用程序中验证请求应用程序的来源,您可以找到 iv-crediv-user HTTP header 。这并不是100%有效,也许有人可以人为地放置标题。一个好主意是在 iv-cred 中添加一些与时间戳混合的特定元素,以在应用程序中验证请求的来源和时间。请参阅:

    https://www.ibm.com/developerworks/tivoli/tutorials/tz-tamauthapi/

关于java - 如何阻止访问受 TAM WebSEAL 保护的后端应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com