Jakarta ee 如何在war文件之外有一个登录页面?

Jakarta ee 如何在war文件之外有一个登录页面?,jakarta-ee,login,single-sign-on,Jakarta Ee,Login,Single Sign On,我的web应用程序具有如下登录配置: <login-config> <auth-method>FORM</auth-method> <realm-name>Some_Realm</realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/logerror.j

我的web应用程序具有如下登录配置:

<login-config>
<auth-method>FORM</auth-method>
<realm-name>Some_Realm</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/logerror.jsp</form-error-page>
</form-login-config>
</login-config>

形式
某些领域
/login.jsp
/logerror.jsp
该项目现在是一组使用单一登录的web应用程序的一部分,并且在另一个war文件中有一个公共登录页面。表单登录页面是否可能位于当前war文件之外?这里最好的方法是什么

((我已尝试在login.jsp页面中添加重定向,以便重定向到
所需的登录页面。如果另一个应用程序可以根据我们传递给该应用程序的目标url重定向到我的应用程序,这是否是一个解决方案?我的尝试导致了目前的无限循环。不确定是否是因为我的SSO实现尚未到位。我们计划使用cookie/令牌实现SSO。)

您不能获取war文件之外的任何文件。而且重定向方法也不好,因为有人可以直接加热您的目标URL。如果您使用这种重定向方法,您必须使用会话,这样就没有人可以直接到达目标URL。如果您想让我解释如何做,请告诉我……

到jsfQ

您可以按如下方式使用会话: 为两个web应用程序保留一个公用登录页。现在,每当用户通过公用登录页登录时,设置一个用于安全的会话属性。现在,您将用户重定向到一个web应用程序。现在,您在重定向的应用程序上要做的是获取您在登录期间设置的会话属性,如果它为空表示有人直接加热了您的应用程序URL。因此,您可以显示相应的错误消息,请通过登录页面登录


可以吗?明白了吗?

请详细解释。谢谢!