我有不同的运行在tomcat上的java web应用程序作为不同的模块和一个java web应用程序作为插件运行在同一个tomcat服务器上作为另一个不同的模块。我想在不同的应用程序中使用插件(它实际上显示为弹出窗口,只是一个javascript文件,后端有一些URL映射控制器)。
我允许跨域请求对于Tomcat领域中的插件,应用程序可以访问弹出窗口并检索数据。
Eg. in WebApp1, [http://localhost:8080/page1.html]:
ajaxGet(http://localhost:8081/getPopup, function(html){
showPopup(html);
});
所有应用程序的体系结构都是一个简单的基于JSON的请求 - 响应驱动的UI,前端有javascript,JAVA后端有URL-controller / servlet映射。
它工作正常,但当然,即使它们未经过身份验证,它也可以用于域内应用程序中的任何请求。即使从登录页面,我也可以请求弹出窗口。
我该如何处理身份验证?考虑到addon不需要连接到数据库以进行单独的身份验证,其身份验证取决于调用应用程序是否已经过身份验证。
提前感谢您的意见。 :)
答案 0 :(得分:0)
实际上您需要授权,这通常取决于身份验证。身份验证是告知正在发出请求的服务的过程,而授权是决定是否允许委托人发出请求的过程。
无论如何,您应该做的第一件事是向服务添加身份验证和授权,以生成弹出内容(/getPopup
)。一旦您获得了该服务,您实际上有许多选择:
显然,最简单的解决方案是将所有内容整合在一个部署单元中。
作为旁注,请注意在localhost上测试时的cookie会话名称:cookie绑定到主机名,而不是主机名+端口,因此localhost:X
的一个服务发出的JSESSIONID将被JSESSION id覆盖localhost:Y