session 传递的问题(在 tomcat和weblogic之间)

2019-03-25 13:47|来源: 网路

前提:
ServerA 服务器用来作登录服务器,布署在weblogic下,读取所有用户信息
ServerB 服务器用来作其它处理服务器,布署在tomcat下,其中 ServerB 可以有多个服务器

用户登录后,根据数据库中保存的用户的归属信息找到相应的ServerB的IP,然后生成菜单,菜单中的各个子菜单指向这个用户所归属的ServerB的服务器上去,使用这种方式<a href="动态生成链接(格式:http://IP:PORT/PROJECT/XXXX.jsp或.do)">菜单1<a>

问题如下:
在ServerA登录后,如何在ServerB上验证这个用户是否已经登录

问题补充:
根据需求,不能用数据库
问题补充:
另外,两个服务器平台weblogic/tomcat,session实现机制不一样,比较难弄
问题补充:
请jeffyan详细说下,谢谢
weblogic 登录后,用户信息存memcache中,tomcat下的如何得到?

相关问答

更多
  • 是这样:
  • 具体步骤为: 1、每个实例都有两份Session数据,主数据和备份数据. 2、当请求的sessionId的primary_server_id为当前实例时,从主数据里获取session响应请求,否则进行3). 3、当请求的sessionId的secondary_server_id为当前实例时,从备份数据里取session响应请求,并修正该session的primary_server_id/secondary_server_id为自已及其的备点。
  • 要尝试在此测验的上下文中而不是仅仅在代码的上下文中回答您的问题,请考虑它的含义: params存在于表单的url或post体中,因此在查询完成后它就会消失。 现在考虑问题本身说: 用户提交新的电影表单 。 相关控制器如何访问电影的标题? 所以问题是用户通过填写表格进行交互,然后将表格post到服务器。 这正是笔记中提到的“表格的帖子” 。 所以正确答案是3) params['title'] 。 现在,一旦访问了这些数据,就可以将它放入会话中,但这是开发人员要做或决定的,而这并不是在这里所讨论的范围内。 您还 ...
  • 在PHP INI中,您可以将会话域设置为“.mysite.org”,然后您应该能够在多个域之间共享会话。 相关变量是: session.cookie_domain 您还可以使用session_set_cookie_params()函数在脚本中设置它。 编辑 - 我应该注意这只适用于您的子域位于同一服务器上(看起来像它们)。 In PHP INI you can set the session domain to ".mysite.org" then you should be able to share t ...
  • 我不是Tomcat Guru,但我知道,在重定向设置标志期间使用Cookie重定向。 如果不是,则会获得新的会话ID或null。 像CURL这样的应用程序默认禁用此标志,假设Apache - 相同。 希望它会对你有所帮助 I'm not Tomcat Guru but what I know, is during redirection set flag to use redirection with Cookies. If no, you get new session ID or null. Some ...
  • 我自己解决了这个问题,并不容易,但事实证明,涉及到几个因素。 首先,在代码中仍然存在一个会导致会话不必要地失效的地方,我删除了它。 但其次,最有趣的是,我们的客户从不同WLS实例上的另一个应用程序访问我们的应用程序,但使用相同的域名。 IE:www.abc.com/customer_app重定向到www.abc.com/our_web_app,我了解到这样做会导致浏览器将来自/ customer_app的所有Cookie也包含在重定向请求中。 其中还有一个JSESSIONID cookie(它不存在于/ o ...
  • 会话状态有几种类型。 InProc,StateServer和SqlServer。 我相信默认是InProc。 您可以在此处和此处在MSDN上阅读有关此内容的更多信息。 其中每个都将遵循web.config文件中定义的sessionState的超时值。 对于单个服务器设置(这是我通常所做的),我通常将sessionState设置如下:
  • 使用sessionStorage而不是session.Storage DEMO var shapeResult={"accuracy": {"Syntactic":1} }; sessionStorage.setItem('session_data',JSON.stringify(shapeResult)); var session_data_temp=JSON.parse(sessi ...
  • 在Tomcat中,这些东西可以在几个不同的地方定义。 对于security-role重新映射,请使用web.xml中的标准重新映射角色名称。 如果您使用的是servlet-3.0规范的webapp,那么许多与会话和cookie相关的项目都可以通过web.xml获得: nameOfCookie -1
  • 问题有一个棘手的原因。 我们的客户希望会话ID cookie具有不同的名称 - 而不是默认的jsessionid 。 我在liferay门户战争中设置了修改后的jsessionid,但没有在主题和portlet应用程序等其他战争中设置。 因此,这些战争使用默认的jsessionid,而门户使用修改后的战争。 默认值是add方法使用的,修改后的方法是invalidate方法。 所以解决方案是在portlet和主题大战中修改会话ID cookie。 The problem had a tricky reason ...