jsp+servlet怎样防止用户用URL直接访问页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp+servlet怎样防止用户用URL直接访问页面相关的知识,希望对你有一定的参考价值。
参考技术A 过滤器 或者把需要保护的资源放进WEB-INF 参考技术B JSP放在WEB-INF目录下,页面访问都靠Servlet forward. 参考技术C 你是说没经过登录不可以直接访问页面?还是无论用户登录不登录都不允许访问?追问必须登录才能访问后面的页面。不然。光用地址进不去。
追答你可以这样:
把你登录后的才能访问的页面路径前都加/login/
然后在XML配置文件里自定义一个servelet,path设置为/login/*,然后这个servelet对登录状态判断,如果登录就不做动作,如果没登陆这个servelet就让网址跳转到登录页面。
相当于过滤器还是拦截器。。。忘了
前端防止url输入地址直接访问页面
首先,解决这个问题要搞明白此url是从程序内部跳转还是直接在地址栏输入的,如果是程序内部跳转,那就好办啦。方法如下:
判断用户是否登录状态,是否携带token
使用router.beforeEach注册一个全局前置守卫,判断用户是否登录。
router.beforeEach((to, from, next) => if (to.path === ‘/login‘) next(); console.log(next) else // 每次页面跳转执行,token或openId錯誤,均提示跳转到首页 let token = sessionStorage.getItem(‘token‘); console.log(token) if (token === null || token === ‘‘ || token === undefined) Toast(‘token错误,请重新登录‘) setTimeout(function () next(‘/login‘); ,1000) else next(); );
HttpRequestServlet.getHeader(‘Referer’)的值如果是空的,说明此url是地址栏直接访问的,像这种的需要拦截,然后时期返回登录页面!反之则是从程序内部跳转,可以放行!
以上是关于jsp+servlet怎样防止用户用URL直接访问页面的主要内容,如果未能解决你的问题,请参考以下文章