java - Spring Boot 401身份验证错误的日志用户名/密码

标签 java spring authentication spring-boot spring-security

我想记录给定的经过身份验证的 Web 服务的用户名和密码。

我的 WebSecurityConfigurerAdapter 配置如下:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().antMatchers("/webservice/path").fullyAuthenticated().and().
        httpBasic().and().
        csrf().disable();
    }

我想要的是获取http请求并记录用户名和密码,如example

所以我想要的是如何在 Spring Boot 中获取 Web 服务的 http 请求并记录凭据,无论用户和通行证是否正确。

最佳答案

考虑在您的应用程序中添加 LoggingFilter。

@Bean
public FilterRegistrationBean loggingFilterRegistration() {

    FilterRegistrationBean loggingBean = new FilterRegistrationBean();
    loggingBean.setFilter(loggingFilter());
    loggingBean.addUrlPatterns("/login");
    loggingBean.setName("loggingFilter");
    return registration;
} 

@Bean
public Filter loggingFilter() {
    return new GenericFilterBean {
       @Override
       public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
              if("POST".equalsIgnoreCase(request.getMethod())){
              // Implement Logging logic here
              }
      }
   }
}

关于java - Spring Boot 401身份验证错误的日志用户名/密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43922736/

相关文章:

spring - 使用 Autowiring 的 MockHttpServletRequest 进行的多次测试不起作用?

java - 在 Spring MVC 中,使用 'redirect:process' 或 'redirect:/process' 在导致丢失 session 或 session 值方面是否有所不同?

java - BeanCreationException 和 NoClassDefFoundError : What am I missing in here?

.net - 当我们创建新的 Web API 服务时,如何在 .NET Core 中激活身份验证类型 - Web API 的个人用户帐户

java - org.apache.commons.vfs2.FileSystemException : Could not connect to SFTP server

java - Java中RTTI和反射的区别

java - GWT - 如何从 UI 到 Java 实现

angularjs - 如果我从 Angularjs SPA 调用 VSO API,为什么我会在 Chrome 中收到 Internet Explorer 增强的安全错误消息?

ios - 自动填充用户名和密码 UIWebView Swift

java - Android开发-内部类中的变量