Joomla会话登录

时间:2013-08-22 12:39:52

标签: rest curl joomla session-cookies

我有一个Joomla网站。我编写了一个允许用户使用基于REST的服务调用登录的组件。例如:

http://abc.com/rest/login/greg/greg

在浏览器上执行此操作时,将使用JAuthentication和。来检查凭据 用户登录如下:

$mainframe =& JFactory::getApplication('site');
$usersipass['username'] = $name;
$usersipass['password'] = $password;
$mainframe->login($usersipass);

但是,如果我在同一浏览器中签入我执行的URL,这一切都有效。允许从命令行之类的外部代理发生这种情况不起作用:

curl -v http://abc.com/rest/login/greg/greg

显然,这与在相关浏览器中设置正确的cookie有关。我尝试使用this stackoverflow问题,允许用户使用外部php curl脚本登录。关于cookie的部分是这样的:

// Get logged in cookie and pass it to the browser
preg_match('/^Set-Cookie: (.*?);/m', $ret, $m);
$cookie=explode('=',$m[1]);
setcookie($cookie[0], $cookie[1]);

但是,这不会将用户记录在同一浏览器中。身份验证适用于所有情况。我的最终目标是从像Meteor这样的javascript框架调用REST API,并让用户登录到同一个浏览器。

0 个答案:

没有答案