我们将 Spring Security 与 RequestHeaderAuthenticationFilter 结合使用,因此依赖于为用户名设置的 HTTP header 。在我们的本地机器上,我们没有用于身份验证的软件,因此也没有 header 。
当使用 WebDriver 或 FireFox 测试时,我们可以设置 header 并正确测试,但是当使用 Internet Explorer 手动测试时,我们无法设置 header 值。
是否有在 IE 中设置 header 值的好方法,或者在开发和测试中为过滤器启用某种“模拟”的合适方法?
最佳答案
我最终使用了带有命令行参数的 Spring Java 配置,用于在 header 身份验证和使用登录表单进行身份验证之间切换。
它需要在(模拟左,真实右)之间切换:
- UsernamePasswordAuthenticationFilter 和 RequestHeaderAuthenticationFilter
- LoginUrlAuthenticationEntryPoint 和 Http403ForbiddenEntryPoint
- DaoAuthenticationProvider 和 PreAuthenticatedAuthenticationProvider
对 Spring Security 的内部结构印象不深,我花了很长时间才弄明白。但如果您需要这样做,至少这些是一些提示。
关于java - 使用 RequestHeaderAuthenticationFilter 时如何测试 Internet Explorer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3716972/