做了一个页面A,想让只有登录了的用户才能访问,于是我在页面head部分加了一段ajax请求,确认用户是否登录,如果未登录则跳转到登录页面B。但在跳转到B页面之前,A页面已经被看见了,我在想怎么才能阻止未登录用户看见A页面呢?项目前后分离,后端不管前端。
1 回答
冉冉说
TA贡献1877条经验 获得超1个赞
从以下几个思路中思考:
1、前后端完全分离的web app现在很流行,在处理用户认证逻辑上,一般来讲原则是绝对不能让用户看见的东西必须放到后端,前端通过接口去调用数据,调用过程做认证,看看请求有没有附带相应的cookie或者token之类。
2、任何内容只要放到了前端静态文件中,理论上都不能避免被匿名用户hack到,所以前端你可以去负责显示管理员界面的按钮、表单、各种ui元素,但是具体的关键数据和操作,一定是通过后端进行的。
3、不能等显示了前端页面再去判断这个页面是否适合给未登录用户看。而是要在显示之前就去做。
4、合理的办法其实是通过mvvm类框架的路由规则去判断,比如angular或者react。
5、简单(但不科学)的办法你可以这个页面默认隐藏,比如css display none。然后ajax以后再决定是显示还是跳转。
添加回答
举报
0/150
提交
取消