添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
小胡子的麦片  ·  模式 : WPF ...·  2 月前    · 
想出国的豆腐  ·  window.btoa ...·  8 月前    · 

http://blog.csdn.net/sinat_28454173/article/details/52251004

**********************************************************

最近在学习 spring security与spring boot的整合,刚开始学习了登录和注销,想自己拓展一下,post一些数据,完成 数据库 的操作。

开始长达一天的查找资料解决问题中!!!

  • 首先:403错误,表示资源不可用。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录的权限设置导致的WEB访问错误。
  • 了解了错误后,大概就是我用户权限不够吧。当我登录以后,以admin权限去操作post还是一样的错误。
  • 于是去configure方法中找,看看是不是可以设置接收post操作
  • @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                    .antMatchers("/test","/test1").permitAll()
                    .anyRequest().authenticated()
                    .and()
                    .formLogin()
                        .loginPage("/login")
                        .failureUrl("/login?error")
                        .permitAll()
                    .and()
                    .logout().permitAll();
    4. 于是怀疑框架自身的抑制,果然被我找到了: 
    解决CsrfFilter与Rest服务Post方式的矛盾
    具体就是框架内部防止CSRF(Cross-site request forgery跨站请求伪造)的发生,限制了除了get以外的大多数方法。
    5. 但是上述的解决方法是直接过滤掉指定的url,使其可以使用post以及其他被限制的方法,是一个漏洞!!!况且讲的是spring mvc 的配置文件方法。但是在Spring boot上还不知道怎么解决。。
    6. 于是想到了去Spring Boot的文档看看与security相关的操作:
    github上的文档:security例子里的security
    简约到自己都不相信了。。
    7.于是想到直接去看Spring security文档好了:
    Using Spring Security CSRF Protection

    差点就想着把csrf的功能关掉。。。还好往下看到:
    Include the CSRF Token

    好了,终于找到解决办法了:只要添加这个token,后台就会验证这个token的正确性,如果正确,则接受post访问。
    8.但是又出现问题了。。我用的是thymeleaf模板:
    Put CSRF into Headers in Spring 4.0.3 + Spring Security 3.2.3 + Thymeleaf 2.1.2
    在stackoverflow上查到了。只要改一下:

    这样,就可以完成自己的delete,put,post,patch方法的访问了

    9.【springboot折腾记】以后有问题,如果网上找不到解决办法,就去找文档吧,虽然是英文的,但是看着看着就习惯了!!!推荐一款chrome的插件:《TransIt》简单好用的词典,双击英文单词即可查询。

    springboot security CSRF问题
    http://blog.csdn.net/a517858177/article/details/52414181

    Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾
    http://www.cnblogs.com/yjmyzz/p/customize-CsrfFilter-to-ignore-certain-post-http-request.html

     基于java config的springSecurity(三)--加入RememberMe,启用CSRF和增强密码
    http://blog.csdn.net/xiejx618/article/details/42626001