外部管理登录脚本



我真的需要你的帮助。我是大三的Joomla!开发人员和初级安卓开发人员。我目前正在为Joomla构建一个Android应用程序!现场管理。那么,我在哪里需要帮助?

我成功地使用以下代码将一些用户登录到前端,没有任何问题:

// Function for user login
// return : JSON array (login : true/false; user_id : if user is loged in)
public function login() {
$post = JFactory::getApplication()->input;
$result = array();
$username = $post->get('username');
$password = $post->get('password');
$credentials = array("username" => $username, "password" => $password);
$app = JFactory::getApplication('site');
$result['login'] = $app->login($credentials);
if($result['login']) {
$result['user_id'] = JUserHelper::getUserId($username);
}
CJoomDroidHelper::postResult($result);
}

我制作了一个名为CJoomDroid的组件,这是一个简单的web服务,每个调用都有JSON响应。

例如,当我输入:时

http://some.joomla.website/index.php?option=com_cjoomdroid&view=认证&task=登录&username=user&password=pass&format=原始

,我设法将用户登录到前端站点面板。所以没有问题,但如果我想使用以下代码与同一用户登录到管理面板:

// Function for user login
// return : JSON array (login : true/false; user_id : if user is loged in)
public function login() {
$post = JFactory::getApplication()->input;
$result = array();
$username = $post->get('username');
$password = $post->get('password');
$credentials = array("username" => $username, "password" => $password);
$app = JFactory::getApplication('admin');
$result['login'] = $app->login($credentials);
if($result['login']) {
$result['user_id'] = JUserHelper::getUserId($username);
}
CJoomDroidHelper::postResult($result);
}

在这个链接上:

http://some.joomla.website/administration/index.php?option=com_cjoomdroid&view=认证&task=登录&username=user&password=pass&format=原始

,我有错误。有没有办法用这种方式登录到管理面板?

谢谢!

错误如"您的会话已过期;请重新登录.."等。安卓应用程序正在调用:HttpResponse response=httpclient.exexecute(new HttpGet(url.toString()),响应应该是JSON对象,如:

{"login":true}

自动登录Joomla可能非常棘手
你应该看看谷歌群组上的这篇文章
有一个名为FrameworkOnFramework的库,它增强了Joomla的功能,并允许您自动登录(通过CLI或使用简单调用),提供了非常好的保护。

相关内容

  • 没有找到相关文章

最新更新