在我的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安全性是否正确实现?你有什么想法吗??除了我已经实施的建议之外,还有其他建议吗?提前谢谢你的帮助
暂无答案!
目前还没有任何答案,快来回答吧!