前后端不分离时,为了提高系统的安全性,可能会用到session、cookie、token(这里的token一般都是存在了请求体里)等,但是无论哪一种其实都能被伪造,遭受CSRF攻击。
前后端分离时,关掉了csrf ,不会去校验csrf_token,并且禁用了session,所以直接从源头解决掉了问题。最后就是把登录时生成的token,在前端实现把token存在请求头里。
尤其注意:
1、添加跨域类,解决跨域问题
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.context.annotation.Configuration;
//跨域请求配置类
@Configuration
public class CrosConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//允许跨域的路径:任意, 即服务
registry.addMapping("/**")
//允许跨域访问的源,如果下面那个报错,就用这个.allowedOriginPatterns("*")
.allowedOriginPatterns("*")
//允许跨域访问的请求方式:任意 post get de