那不是cookies的问题 是程序有问题啊 

解决方案 »

  1.   

    是不是设定到application里面去啦?
    大家都是一样的?呵呵
      

  2.   

    检测过了,,程序是没问题的,,,我这边的域名是通过apache反向代理的,,中间件是websphere
      

  3.   

    既然是不同机器登陆 那怎么可能是客户端的问题呢 
    一定是登陆代码有问题 比如xblue3所说的是不是有个全家变量在application里面,只要有人登陆后,这个变量就置true了,
    后面的人访问前都先判断了整个标志
      

  4.   

    明显是你的code有问题嘛,cookie只会影响一台机器,别人的机器怎么会受到影响呢?
      

  5.   

    不是cookie问题,cookie只存在本地机中,不可能到别人的机器上吧查下程序判断是否登录那部分
      

  6.   

     这个是JAVA里面的方法
    public void setCookie(String cUserID, String cuserLogin, String cUserPass, String cUserFName, String cUserDept, HttpServletResponse resp)
        {
            try
            {
                String cPath = "/module/leadermail"; //20080728修改
                int cMaxAge = -1;//20080728修改
                Cookie c = new Cookie("UserID", cUserID);
                Cookie d = new Cookie("UserName", URLEncoder.encode(cuserLogin, "GBK"));
                Cookie e = new Cookie("UserPass", URLEncoder.encode(cUserPass, "GBK"));
                Cookie f = new Cookie("UserFName", URLEncoder.encode(cUserFName, "GBK"));
                Cookie g = new Cookie("UserDept", cUserDept);            c.setPath(cPath);
                d.setPath(cPath);
                e.setPath(cPath);
                f.setPath(cPath);
                g.setPath(cPath);
                c.setMaxAge(cMaxAge);
                d.setMaxAge(cMaxAge);
                e.setMaxAge(cMaxAge);
                f.setMaxAge(cMaxAge);
                g.setMaxAge(cMaxAge);
                resp.addCookie(c);
                resp.addCookie(d);
                resp.addCookie(e);
                resp.addCookie(f);
                resp.addCookie(g);
            }
            catch(Exception e)
            {
                System.out.println("[SYS] Cookie.encode Exception:" + e.toString());
            }
        }
      

  7.   

    这个是JSP文件<%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="merp.sc.server.impl.servlet.*"%>
    <%@ page import="merp.common.util.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="com.hanweb.longware.*"%>
    <%@ page import="javax.servlet.jsp.*"%>
    <%@ page import="OaBasicClass.Clove.HtmlPageClass"%>
    <%!
    private merp.sc.server.dba.common.DBA_Common dba_Common = null;
    private CommonServlet_oa commonServlet = null;
    private Connection conn = null;
    private myUtil longware = null;
    private LeaderMailLog log = null;
    private String i_webId = "0";//网站ID
    private String i_appId = "0";//网站群ID
    private String i_deptId = "0";//部门ID
    private String sitePath = null;//cookie vars
    private String cUserID = "0";
    private String cuserLogin = "0";
    private String cUserPass = "0";
    private String cUserFName = "0";
    private String cUserDept = "0";
    //显示
    private void showList(HttpServletRequest req,JspWriter o)
    {
    // 打开模板文件
    String tplFile = sitePath + "/module/leadermail/admin/tpl/admin.html";//真正的路径 HtmlPageClass tpl = new HtmlPageClass();
    String strTpl = tpl.ConvertHtmlFileToString( tplFile );
    tpl = null;
    longware.echo(strTpl,o);
    }//释放资源
    private void free(){
    try
    {
    if(conn != null)
    {
    dba_Common.closeDBA(conn);
    commonServlet.release();
    }
    }
    catch(Exception e)
    {
    System.out.println( "[SYS] free():" + e.toString() );
    }
    }//流程控制
    private void flowControl(HttpServletRequest req,JspWriter o){
    try
    {
        showList(req,o);
    }
    catch(Exception e)
    {
    System.out.println( "[SYS] flowControl():" + e.toString() );
    }
    }//主程序入口
    public void process(HttpServletRequest req,JspWriter o,HttpServletResponse resp){
    try
    {
    dba_Common = new merp.sc.server.dba.common.DBA_Common();
    commonServlet = new merp.sc.server.impl.servlet.CommonServlet_oa();
    longware = new myUtil();
    log = new LeaderMailLog();
    sitePath = req.getRealPath("") +  "/jcms_files/jcms" + i_appId + "/web" + i_webId + "/site"; conn = dba_Common.initDBA(null,i_appId);
    commonServlet.setConnection(conn);

    Cookie[] cookies = req.getCookies();

    if( cookies != null )
    {
    int cLen = cookies.length;
    for( int i=0 ; i<cLen ; i++ )
    {
    if( cookies[i].getName().equals("UserID") )
    cUserID = cookies[i].getValue();
    else if( cookies[i].getName().equals("UserName") )
    cuserLogin = java.net.URLDecoder.decode(cookies[i].getValue(),"GBK");
    else if( cookies[i].getName().equals("UserPass") )
    cUserPass = java.net.URLDecoder.decode(cookies[i].getValue(),"GBK");
    else if( cookies[i].getName().equals("UserFName") )
    cUserFName = java.net.URLDecoder.decode(cookies[i].getValue(),"GBK");
    else if( cookies[i].getName().equals("UserDept") )
    cUserDept = cookies[i].getValue();                   System.out.println("getName======="+cookies[i].getName());
       System.out.println("getValue======="+cookies[i].getValue());
       System.out.println("getPath======="+cookies[i].getPath());

    }
    }
    System.out.println("cUserID======="+cUserID);
    System.out.println("cuserLogin======="+cuserLogin);
    System.out.println("cUserPass======="+cUserPass);
    System.out.println("cUserFName======="+cUserFName);
    System.out.println("cUserDept======="+cUserDept);
    if(log.isValidUser(dba_Common,cUserID,cuserLogin,cUserPass,false))
    {
    log.setCookie(cUserID,cuserLogin,cUserPass,cUserFName,cUserDept,resp);
    flowControl(req,o);
    }
    else{
    longware.echo("<center><font color=\"#FF0000\">对不起,您没有访问权限或登录超时。</font></center>",o);
    }
    }
    catch(Exception e)
    {
    System.out.println( "[SYS] process():" + e.toString() );
    }
    finally
    {
    free();
    }
    }
    %>
    <%@ include file="../config.jsp"%>
    <%
    this.i_webId = strWebID;
    this.i_appId = strAppID;
    process(request,out,response);
    %>
      

  8.   

    把用户信息放到 cookie 中,而登陆信息放到 session 中
      

  9.   

    yxxcrtd
    你能不能所的详细点,,不是很明白
      

  10.   

    我这边用户的帐号跟密码是存放的cookie里面的,,,,,登录的时候就是存在COOKIE里面的,,没有存放到session 里面
      

  11.   


    这个是"log.isValidUser"的代码
     public boolean isValidUser(DBA_Common dba_Common, String UserID, String UserName, String UserPass, boolean isDebug)
        {
            boolean returnFlag = false;
            String strSql = "SELECT COUNT(i_ID) AS isExists FROM JCMS_LeaderMail_Users WHERE vc_UserName='" + UserName.trim() + "' AND vc_UserPass='" + UserPass.trim() + "' AND i_ID=" + UserID.trim();
            String strData[][] = dba_Common.loadDataFromDB(null, strSql, false);
            if(strData != null && strData.length > 0)
                returnFlag = Integer.parseInt(strData[0][0].trim()) > 0;
            else
                returnFlag = false;
            if(isDebug)
            {
                System.out.println("[SYS] strData.length=" + strData.length);
                System.out.println("[SYS] strSql=" + strSql + "\n");
            }
            strData = (String[][])null;
            return returnFlag;
        }