日期:2014-05-19  浏览次数:20638 次

java 网站
在网站中,点击页面,怎样验证用户是否登录,若没登陆跳转到登录页面
比如:http://www.ubao.com/accidental/showPlanDetail-2090004.shtml# 点击开始填单,跳转到登陆页面

------解决方案--------------------
在session存入用户登录信息,在点击页面的时候去session中去取用户的登录信息,取到了就代表登录,跳转到相应的页面,没取到就跳转到登录页面。
------解决方案--------------------
request.getParameter("username");
根据username拿user对象,没有拿到就返回没该用户,拿到了对比密码,一般会有一个md5加密,对拿到的passwod进行md5处理了,(当然没有加密就直接比对),一样就登陆成功,不一样就返回密码错误。
------解决方案--------------------
验证用户是否登录一般采用以下方式:在登录功能中登录成功的话会把用户信息放到session中,你在网站中操作时先验证session中是否已经保存了用户信息,如果有说明用户已登录,正常执行访问,否则转到登录页面。但是每个功能都加判断的话会很麻烦也不利于维护,一般把验证放到filter中实现。
------解决方案--------------------
session
------解决方案--------------------
Java code

HttpServletResponse response =(HttpServletResponse) arg1;
        HttpServletRequest request = (HttpServletRequest)arg0;
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out=response.getWriter();
        User user = (User)request.getSession().getAttribute("User");
        request.getRequestURI();
        System.out.println("uri:"+request.getRequestURI());
        if (!request.getRequestURI().contains("login.jsp")) {
            if(null==user){
                //response.sendRedirect(request.getContextPath()+"/login.jsp");
                 out.print("<script type='text/javascript'>alert('对不起您必须先登录系统!');window.open ('"+request.getContextPath()+"/index.jsp','newwindow','');</script>");
            }
        }
        else{
            arg2.doFilter(arg0, arg1);
        }

------解决方案--------------------
用户登录状态的校验可简可繁,看具体情况了

简单的可以把用户信息保存在Session、Cookie中

复杂的也有集成CA、U盾的

更高级的支持人脸识别,163邮箱现在就已经有人脸识别的功能了