我有一个Spring Boot Web应用程序与几个REST控制器。它使用Spring Security进行基于表单的身份验证(1)春季安全:不需要身份验证本地请求
此外,应用程序正在读取存储的请求并将其分派给自己。为此,我有一个自定义的Spring Dispatcher servlet和一个用于存储请求的过滤器链。当被调用时,它让Spring DispatcherServlet将HTTP请求发送到正确的REST控制器(2)
我想以不需要对(2)情况进行身份验证的方式设置Spring安全性 - 是当http请求来自应用程序本身时。
有没有人有一个想法如何实现这一目标?
是的,我想完全禁用Spring Security进行的第二种情况。不幸的是,没有开始的路径,它可以是任何资源。 –
由于我构建请求然后将它传回到Spring DispatcherServlet,我想我可以设置一个属性 - javax.servlet.ServletRequest.setAttribute。另一个选择是使用动态值(令牌?)设置某个请求标头,然后允许具有有效令牌的请求。 –
我写了一个答案,但它只在技术上解决了这个问题。你需要确保这个请求,因为你不想让每个机构绕过Spring Security。您可以使用令牌(如您所述),但您也可以使用Spring Secrity进行检查。也许更好的方法是使用forward而不是重定向。它不会再被Spring Security检查。 – dur