解决前后端分离时spring Security 即使操作成功也会抛出权限不足的情况


前后端分离+spring Security 操作其实成功了,但中途总是会抛出异常说没有权限,利用swagger或者postman测试都不会有这种问题,

但通过前端测试时,后端打断点时就会发现总是会请求两次,一次没有权限,一次检测到有权限,虽然有异常,但是不影响使用

同一个请求,出现两次权限验证

第一次没有权限

 

紧接着第二次就通过了

这是我自定义的AccessDecisionManager

 

 

 

 

 后来发现是因为浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前,会先进行一次预请求,也就是OPTIONS,OPTIONS的第一次请求,他的作用是用于试探性的服务器响应是否正确,即是否能接受真正的请求,所以到后端的时候会有一个Request Method参数是OPTIONS,还有一次就是我们真正的请求,比如get或是post请求方式,也就是两次,第一次没有token 所以会抛异常

所以只要在代码中添加一个关于OPTIONS操作的权限管理就行了

 

 

问题解决

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM