欢迎光临散文网 会员登陆 & 注册

黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + myb

2023-07-26 23:05 作者:风落windfall  | 我要投稿

正在学习的小伙伴们看过来

这个项目有一个很严重的bug,就是前台用户(点餐页面)登录后,后台用户(管理页面)可以绕过登录直接访问后台页面了,原因是LoginCheckFilter登录过滤类只针对用户登录进行检查(检查session里面有没有id),只要有用户登录成功那么session里面就会有用户id,那么处于同一session的其他用户便可以绕过登录访问另一方的页面了,换句话说:如果在一个浏览器登录了前台或后台,那么还想同时访问后台或前台,必须更换浏览器,根本原因是同一个浏览器共享一个session

下面是解决方案:

1、更换不同浏览器访问前/后台页面(无视bug)

2、增加前台或后台访问的baseUrl前缀,如后台的请求统一添加"/api",这样可以在过滤器类里面通过request.getRequestURI/getContextPath/getServletPath等方式获取请求路径参数,通过检查是否有“api”字符串判断是前台还是后台用户发的请求

3、使用无状态token代替有状态的session,不过鉴于此项目是单体项目,前后端不分离,使用token不是首选方案


综上,如果回答有错欢迎佬们指正

黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + myb的评论 (共 条)

分享到微博请遵守国家法律