首先;这个问题类似于另一个尚未解决的问题:对magento soap api的调用立即过期
我正在开发一个基于XMLRPC的客户端-服务器模块。基于Magento的服务器向基于Java的客户端公开了几个API方法。我在我的客户端中使用标准JavaXMLRPC Jars。
我有一个“登录”调用,用于检索会话。然后我把这个传给其他人做不同的电话。我检查了它是否返回(看起来)有效会话。
Object result1 = client.execute("login", ob1);
session = (String) result1;
但是,我使用此会话进行的下一个调用失败:
org.apache.xmlrpc.XmlRpcException: Session expired. Try to relogin.
我已经证实:
api_会话表
这是我看到的:
mysql> select * from api_session limit 50;
+---------+---------------------+----------------------------------+
| user_id | logdate | sessid |
+---------+---------------------+----------------------------------+
| 5 | 2013-02-01 16:01:49 | 9099b50
| 5 | 2013-02-01 16:02:10 | 7312c1a
| 5 | 2013-02-01 16:05:43 | a6ce30c
+---------+---------------------+----------------------------------+
11 rows in set (0.00 sec)
mysql> select CURRENT_TIME;
+--------------+
| CURRENT_TIME |
+--------------+
| 14:58:03 |
+--------------+
嗯。。。。这可能是因为我自己对安全的需要。
在上述失败中,我的登录方法借鉴了本文的技巧:在Java中不可挽回地破坏数据
就像那篇文章建议的那样,我将char数组传递给login方法。这最终导致将空凭据传递给登录方法。
对于那些可能不熟悉的人来说
Mage/Api/Model/Server/Handler/Abstract.php
Mage/Api/Model/Session.php
我继续使用我的常规、非安全方法,直接将字符串传递给该方法。成功了!
编辑:当然这有一个缺点,那就是我重新使用字符串而不是char[]数组。如果我知道怎么做,我会更新答案。
来自ZooKeeper服务器的日志:
我有一个使用Spring安全LDAP的登录页面。身份验证本身工作正常。在我将表单从常规 HTML 更改为主要字体/ JSF 标记后,发生了此问题。用户通过身份验证后,该页不会重定向到索引页,而是在第二次尝试后。由于某种原因,会话被立即清除。我已经阅读了很多关于使用JSF登录的帖子和教程,以及类似的问题,但到目前为止,它们都没有奏效。 以下是我的一些配置: 登录.xhtml 在首字母/JSF之前 l
问题内容: 经过反复试验,我将问题缩小到下面的第5行。由于某种原因,.js响应将结束用户会话。使用3.0.4并设计1.1.7(和jQuery 1.5)。 此外,@ organization正在更新,并且日志中将显示Completed 200 OK,因此用户不知道他/她已注销,直到尝试下一个操作为止。 任何帮助和指导,我们将不胜感激。 和 问题答案: 非常感谢Google Devise Group的
问题内容: 我从某个地方得知一个分离的屏幕可以被杀死 可以从哪里获得[您想杀死的会话#] 但这是行不通的。哪里不对了?正确的方法是什么? 问题答案: “杀死”只会杀死一个屏幕窗口。要“杀死”整个会话,请使用。 例 对于无效会话,请使用:$ screen -wipe
我在Tomcat7中有一个web应用程序,它将会话中的用户信息作为DTO对象保存。我还为我的项目启用了Spring Security性,如果用户没有会话,它会自动将用户重定向到登录页面。 如果我登录到应用程序一次,然后在Eclipse中重新启动Tomcat,会发生的情况是,我的会话被冲出,但cookie没有运行。 Edit:尽管Firefox说,但如果关闭并重新启动Firefox,cookie仍然
我想问一下,为什么在执行事件时,我的状态没有改变。我已经搜索到需要在构造函数中绑定函数,但是状态仍然没有更新。 下面是我的代码: