采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
视频8分15秒老师在StationController的RequestMapping注解上加上了”/admin",但是我感觉,这里过滤器不应该按后端接口来选择是否要拦截吧?我觉得是不是应该通过访问接口的前端url来判断是否要拦截吧。按照视频中的做法的话,那我岂不是web端也可以随便访问station的接口了吗?所以我感觉,应该是把locahost:9001这个url对后端接口的访问全部放行,这样判断才对吧? 这是我个人的理解,说得不对的话请老师指正
“我觉得是不是应该通过访问接口的前端url来判断是否要拦截吧”这句话我不太理解你的意思。
接口的拦截都是在后端,后端是不会判断从哪个前端来源的,所以统一用前缀来判断,访问带/admin的就表示是内部控台才能访问,访问/api就表示是开放给第三方的,当然,我们要根据/admin和/api做不同的权限设置
抱歉老师我可能没表达清楚,我的意思就是判断这个请求的来源。 比如我们的控台端的url不是localhost:9001吗,就判断请求是不是从localhost:9001发过来就完了。老师的思路是请求的接口是带/admin的就放行,我感觉这样的话不会有安全问题吗。这样的话实际上我们的web端也可以随便访问这些带/admin的接口了,当然逻辑上我们当然不会让web端去调用这些接口,但是从技术上讲这个是可行的吧,web端有权限随便访问带/admin的接口。所以我觉得应该是判断请求来源是不是localhost:9001,而不是判断访问的接口是不是带/admin的。
不是/admin就放行,而是针对/admin有一套权限校验,针对/api有另一套校验。 根据来源的话,一方面经过SLB、gateway之后,有些还会加一层nginx反向代理,很难获得准确的来源,另一方面,会不会被伪造来源呢?
明白了,那是我之前理解错了老师课程中的意思了。谢谢老师
登录后可查看更多问答,登录/注册
最新版Spring3.0仿12306售票系统实战
1.6k 28
934 12
1.6k 8
1.0k 8
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号