有登录页面a.jsp,查询及展示页面b.jsp,在a.jsp页面通过了用户名和密码的验证后跳转到了b.jsp页面,再在b.jsp页面输入查询条件进行查询并将查询到的数据返回在b.jsp进行展示,问:如何做才能确保b.jsp页面的查询数据库的操作是在a.jsp页面通过了用户名和密码的验证的前提下进行呢?
我的担心是:如果任意人知道了b.jsp页面的网络路径,直接使用,岂不是废了我的武功?
我是初学者,请大家指点,在此先行谢过。
我的担心是:如果任意人知道了b.jsp页面的网络路径,直接使用,岂不是废了我的武功?
我是初学者,请大家指点,在此先行谢过。
那你就做一个过滤器,每次访问前,如果不是登录页面,判断当前的session有没有用户名属性,如果没有,则跳到登录页面.
登录成功的时候,将用户名放在当前的session属性中.常见的登录控制问题.
拦截器拦截,未登录用户无法访问b.jsp方法2:
b.jsp中读session判断,未登录则提示或跳转到a.jsp方法3:
查询数据库之前读session判断,未登录用户无法查询数据库
写个公共页面然后 INCLUDE
请问第二种方法结合我的问题及情景是不是在a.jsp页面用session.setAttribute();将通过了的用户名和密码对一个指定的变量进行赋值,然后再在b.jsp页面用session.getAttribute();进行获取进行非空判断,如果非空就进行下一步的操作?是不是这样呢?
凡是访问b.jsp的都要去过滤器里面过滤一下是否已经登陆
不是在a.jsp对session赋值
而是在a.jsp提交到的action里赋值
a.jsp中的代码运行在用户看到页面之前,action里的代码才会运行在用户提交登录之后,这个概念要想清楚