java - 使用 RequestHeaderAuthenticationFilter 时如何测试 Internet Explorer?

标签 java spring spring-security

我们将 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/

相关文章:

java - 带 spring boot 的导出 jar

spring - 了解Grails上的WebFlow

java - 如何使用 SpringBoot Security 禁用 OPTIONS 的基本 http 身份验证

spring - Grails中的域类

java - 如何使用反射检查 hibernate 映射?

java - 使用 Codename One NativeInterface 调用 native Android 库时仍然出现 Nullpointer

java - 使用 HttpClient 发布返回错误请求

java - SimpleMessageListenerContainer 批量消息处理

spring-boot - Spring boot 2.1.x 如何使用基本身份验证保护执行器端点

java - 如何 - 循环遍历字符串并识别特定字符并将其添加到字符串中