security遇到的问题

1.security登录成功不跳转,登录接口报405

POST http://localhost:82/myLogin 405

原因: 出现该错误的原因是successForwardUrl指的是登录成功后的请求转发地址,而表单登录使用的post,那么登录成功后进行请求转发时也是post请求转发到这个地址。由于一般登录成功后跳转的地址都是get请求,从而导致错误。改为使用defaultSuccessUrl就可以解决这个问题。也可以在控制器重定向跳转,如下:

1 @Controller
2 public class LoginController {
3 
4     @RequestMapping("/index")
5     public String index(){
6         return "redirect:/pages/main.html";
7     }
8 }

 

2.页面使用iframe嵌套时报错

Refused to display 'http://localhost:82/' in a frame because it set 'X-Frame-Options' to 'deny'

原因:HTTP响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个iframe中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置X-Frame-Options阻止站点内的页面被其他页面嵌入从而防止点击劫持。
X-Frame-Options有以下配置项:

1.DENY:不能被嵌入到任何iframe或者frame中。
2.SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中
3.ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

解决方法:

在security的configure方法中添加如下配置:

http.headers().frameOptions().sameOrigin();
posted @ 2022-07-16 21:50  钻石星尘seven  阅读(125)  评论(0)    收藏  举报