当前位置: 代码迷 >> Java Web开发 >> 怎么防止用户跳过登录页面直接访问要登陆后才可以访问的页面呢
  详细解决方案

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

热度:311   发布时间:2016-04-17 00:53:42.0
如何防止用户跳过登录页面直接访问要登陆后才可以访问的页面呢?
如何防止用户跳过登录页面直接访问要登陆后才可以访问的页面呢?都说用Struts2的拦截器,请问您们常用的是这个吗? 另外,如何进行权限管理?某个页面只有经理才可访问这该怎么做?

谢谢了

------解决方案--------------------
用filter结合session
例如:
public class CheckStuLoginFilter implements Filter {

public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) response;
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
Stuinfo stuinfo = (Stuinfo) session.getAttribute("stuinfo");
String requestURI = req.getRequestURI().substring(
req.getRequestURI().indexOf("/", 1),
req.getRequestURI().length());
if (!requestURI.equals("/index.jsp")) {
if (stuinfo == null) {
resp.sendRedirect(req.getContextPath() + "/index.jsp");
return;
}
}
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}
------解决方案--------------------
至于权限其实也是一样的,在数据库中给每个用户一个权限码,数字什么的都可以。在访问的时候,可以拦截器中的session中的读取这个权限码,如果是“经理”,通过。否则通过拦截器拦截到你知道的页面即可。
  相关解决方案