我使用 NameCallback 和 PasswordCallback 作为用户名和密码。对于用户名和密码,弹出窗口出现在浏览器上,当我输入用户名和密码时,JAAS 验证我的请求。
在wireshark上,我看到401 Unauthorized消息(WWW-Authenticate标头)来了,当我输入带有凭据的用户名/密码HTTP请求时生成(带有授权标头)并转到服务器。
我的要求:我不想弹出来。我在其他服务器上的应用程序具有用户名/密码,所以一旦它收到 401,然后基于某些逻辑,它将生成带有授权标头/凭据的 HTTP 请求并将其发回。
流程: 用户 -> 其他服务器 -> 我的 Tomcat5.5
在其他服务器上,没有人可以手动输入用户名/密码。应用程序已部署,它只会生成带有凭据的 HTTP 请求并将其发送回 tomcat。
我们可以有任何其他类似这样的回调吗?需要您的帮助。请向我提供反馈以及与方法相关的反馈。
编辑问题:
这是实际情况:
UserA 向 XYZ 服务器发起呼叫(SIP 协议)。部署在 XYZ 服务器上的应用程序创建一个 HTTP REST 请求并将其发送到部署了一个应用程序的 Tomcat 服务器,以便获取一些用户帐户详细信息。一旦 HTTP 请求到达 tomcat ,我必须对其进行身份验证。我正在使用 JAASRealm 的 tomcat 实现。
现在进行身份验证,tomcat正在做什么,它会在XYZ服务器上弹出用户名/密码窗口。在XYZ服务器上,由于应用程序已经创建了HTTP请求,所以没有人在这里手动输入用户名/密码(因为这不会去用户 A 设备)。
我正在寻找一种不会出现此弹出窗口的方法,并且部署在 XYZ 服务器中的应用程序应该执行以下操作:
if(response equal 401) 然后创建带有凭据的 HTTP 请求。
所以我一直在寻找一个不会弹出的解决方案。现在清楚了吗,请建议。