2 qq 29586781 qq_29586781 于 2016.09.19 11:03 提问

如何防止用户跳过登录页面直接访问要登陆后才可以访问的页面呢?

用的ssh
百度到可以用 filter 或者 Struts2 的拦截器,但还是不知道具体应该怎么写,请解释的再详细些,谢谢

6个回答

showbo
showbo   Ds   Rxr 2016.09.19 11:20
已采纳
qq_29586781
qq_29586781 很详细,先写写看,等下遇到什么问题,还会问你,谢谢
大约一年之前 回复
zy_281870667
zy_281870667   Rxr 2016.09.19 11:29

写个拦截器或者servlet,每次请求都经过这个servlet,进行身份的校验,通过则放行,不通过则跳到错误页面

qq_29586781
qq_29586781 谢谢
大约一年之前 回复
a250758092
a250758092   2016.09.19 11:06

先别说用什么拦截器,回归最原本的,既然有用户登录,在进入页面之前对用户登录情况进行判断不就行了,如果没登录,跳转到登录页面。都学框架了,这个基本的。。。

qq_29586781
qq_29586781 回复纯黑的身心: 已解决,谢谢
大约一年之前 回复
a250758092
a250758092 回复心晴天: 因为缓存还在啊,这是正常的行为,你总不能让用户登录后,换个页面又登录吧?这跟你新不新打开窗口没关系,所以为了防止用户状态一直存在,需要定义一下session周期
大约一年之前 回复
qq_29586781
qq_29586781 你说的这个功能是已经实现的,但是,现在我把成功登录后才跳转到的页面链接直接 复制,再新打开一个窗口 复制,直接就跳到了 验证后才能跳转的页面,相当于我的登录验证信息完全不起作用了
大约一年之前 回复
Move_now
Move_now   2016.09.19 11:16

用session判断不就行了吗

qq_29586781
qq_29586781 谢谢
大约一年之前 回复
qq_28510593
qq_28510593   2016.09.19 11:37

package com.oracle.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.oracle.domain.Book;
import com.oracle.domain.Category;
import com.oracle.service.BaseServlet;
import com.oracle.service.BookService;
import com.oracle.service.CategoryService;

public class BookServlet extends BaseServlet {
BookService bookService=new BookService();
public String findAll(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List booklist = bookService.findAll();
request.setAttribute("booklist", booklist);
return "f:/jsps/book/list.jsp";
}
public String findByCid(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cid = request.getParameter("cid");
List booklist = bookService.findByCid(cid);
request.setAttribute("booklist", booklist);
return "f:/jsps/book/list.jsp";
}

public String findByBid(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String bid = request.getParameter("bid");
     Book book = bookService.findByBid(bid);
     System.out.println(book);
    request.setAttribute("book", book);
    return "f:/jsps/book/desc.jsp";
}

}

qq_28510593
qq_28510593 回复心晴天: 建议有时间学习一些框架,不会出现你所说的问题
大约一年之前 回复
qq_29586781
qq_29586781 看到了不得了的东西 oracle
大约一年之前 回复
qq_27665781
qq_27665781   Rxr 2016.09.19 11:56

这个直接在客户端判断。在登入界面登入成功后返回个UID。 在主界面中判断UID是否为null 。为null 跳转到登入

qq_29586781
qq_29586781 写了个拦截器,已解决,谢谢
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片