首页 > 解决方案 > 从其他服务器恢复到我的 Spring Boot 应用程序后不想进行身份验证

问题描述

我正在开发一个 POC(Spring Boot 应用程序),我正在使用自定义登录表单对用户进行身份验证,并显示我的主页。

然后我从我的 JSP 调用一个 URL,它是一个不同的服务器(假设是另一个具有另一个 spring boot 应用程序的服务器) URL。我在哪里执行一些操作并恢复到我的 POC 应用程序。

现在的问题是,当我从其他服务器恢复/重定向回我的应用程序时,即使我已登录,我的应用程序也会再次要求提供凭据。

请建议我在不提示我的应用程序的情况下重新登录应该怎么做。

为简单起见

我的 POC URL:http://localhost:8084/POC/home这是主页 URL,它显示index.jsp

index.jsp我调用http://localhost:8083/api/v1/net-calculate它显示计算页面并执行计算。http://localhost:8084/POC/calStatus完成后,它会通过调用URL重定向回我的 POC 应用程序。

这就是问题所在,当http://localhost:8084/POC/calStatus调用我的 POC 应用程序提示登录页面时,登录后我能够看到计算状态。

控制器方法

@GetMapping(path = "/net-calculate")
public String calculate(PayLoad payLoad, Model model, HttpServletRequest request,
        HttpServletResponse response) {
    String status = calculate(payLoad);

    model.addAttribute("payload", payLoad);
    model.addAttribute("status", status);

    return "status";
}

计算完成后调用的状态 JSP

<form action="${payload.callBckUrl}" name="form" method="post">
    <input type="hidden" name="status" value="${status}">
    <input type="hidden" name="reqType" value="${payload.reqType}">
    <script type="text/javascript">
        document.form.submit();
    </script>
</form>`

payload.callBckUrl只不过是http://localhost:8084/POC/calStatus

标签: spring-bootspring-security

解决方案


推荐阅读