解决方案 »

  1.   

    session.get("sso_login_user_name")=="" -> session.get("sso_login_user_name").equals("");
      

  2.   

    这个登录操作是继承过滤器的一个基类,userLogin是其中一个处理登录的方法.
    我现在最大的问题是:
    HttpSession session = ServletActionContext.getRequest().getSession(false);
    session.removeAttribute("user_name");
    session.invalidate();
    这两个方法都使用了,但是还能在action中
    ActionContext ac = ActionContext.getContext();
    Map session =  ac.getSession();
    String userName = (String) session.get("user_name");
    获取"user_name"中传递的值.这让我百思不得其解呀,快崩溃了.求高手指点迷津..........................
      

  3.   

    你代码写的很奇怪啊~既不是过滤器,也不是拦截器?那你拿什么来拦截任意请求?还有你说自动退出?那就不光是这个问题了。你还要通过javascript做一些类似于自动刷新的技术。问题多的很。你根本就没有理解这个东西的实现机制和原理
      

  4.   

    我是不想让大家分散注意力,所以没有贴出全部代码.我的主要问题是:session怎么设置都不能让它失效,还都能取到值.
    session.removeAttribute("user_name");和session.invalidate();都用了,session照样有效,并且刷新页面时session创建时间还会变动.
    代码结构是这样的,需要使用公司的sso单点登录:
    所以我先写了一个java类继承了sso项目的一个基类;
    然后写了struts2拦截器,判断登录信息是否过期,
    最后在action中又做了判断是否过期
      

  5.   

    十分钟不起效,那30分钟呢,还能获取session的值吗 ?