各位兄弟,我在做一个用SSO集成的系统,每次访问该应用的时候先通过SSO验证是否登录,登录成功后,跳转到之前的URL地址.比如我访问的地址是http://passport.fantasy.com:8080/pay/index.action,然后我借鉴别人的经验,结合了一个网上的sso,能够成功跳转到login页面,地址栏也是正确的http://passport.fantasy.com:8080/login/login.action?success_url=http%3A%2F%2Fpassport.fantasy.com%3A8080%2Fpay%2Findex.action。可是在我使用帐号密码登录成功后,却跳不回来http://passport.fantasy.com:8080/pay/index.action这个地址,而是直接到了passport下面登录成功的页面里去了。我跟踪调试下去看,发现是我的程序里(login程序,不是pay程序)得不到刚才地址栏里success_url参数,请教各位,这是为什么

解决方案 »

  1.   

    在验证登陆的时候应该把之前访问的页面的url地址保存到一个范围里,等验证成功后就重定向到之前的url
      

  2.   

    在pay应用里试过用request,session保存,但是后面都得不到url,在pay应用里out.print可以打印出来,但是不清楚为什么在login应用验证里拿不到url,我在地址栏里有,能不能把地址栏里的取出来,放在action里得到,验证成功后再根据这个url跳转?不知道这样的思路对不对?如果对的话,地址栏里的怎么取的?
      

  3.   

    我现在是这样做的,在login应用里现在我通过字符处理得到了那个url地址,但是现在通过一个window.location.href在一个跳转的html里转出去,问题是,我转回到那个http://passport.fantasy.com:8080/pay/index.action地址,然后马上又跳回到了前面登录那个地方了.真郁闷..有什么方法可以解决这个问题?跳转到原URL后不会又去login一次?