spring如何实现和测试csrf安全性

rqenqsqc  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(140)

在我的spring boot项目中,我试图实现csrf安全性。
目前,我已采取以下步骤:
在pom.xml文件中添加了以下依赖项。

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-security</artifactId>
 </dependency>

 <dependency>
     <groupId>org.springframework.security</groupId>
     <artifactId>spring-security-taglibs</artifactId>
 </dependency>

创建了以下login.jsp文件

<center>
 <h1>Welcome to Spring Boot Security</h1>
 <h2>Login Page</h2>

 <form method="POST" action="/login">
      User Name : <input type="text" name="username" value="user"/><br><br>
      Password  : <input type="password" name="password" value="password"/><br><br>
      <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
      <input type="submit" name="submit"/>
 </form>
 </center>

创建的配置代码包含链接到application.properties文件中变量的csfr激活和停用标志。
公共类csrfsecurityconfiguration扩展了WebSecurity配置适配器{@value(${security.enable csrf}”)私有布尔值csrfenabled;

@Override
 public void configure(AuthenticationManagerBuilder auth) throws Exception {
     auth.inMemoryAuthentication().withUser("user").password("{noop}password").roles("USER");
 }

 @Override
 public void configure(HttpSecurity http) throws Exception {
     http.authorizeRequests().antMatchers("/**").hasAnyRole("USER").and().formLogin().loginPage("/login")
             .permitAll();

     if (csrfEnabled) {
         http.csrf().disable();
     }
 }
 }

安全性:启用:csrf:真
但如果我打rest电话,我看不到任何日志。如何验证csfr安全性是否正确实现?你有什么想法吗??除了我已经实施的建议之外,还有其他建议吗?提前谢谢你的帮助

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题