我真的需要你的帮助。我是初级 Joomla!开发人员和初级 Android 开发人员。我目前正在为 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 响应。
例如,当我输入:
,我设法让用户登录到前端面板。所以那里没有问题,但是如果我想使用此代码以相同的用户登录管理面板:
// 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);
}
在这个链接上:
,我收到错误。有没有办法以这种方式登录管理面板?
谢谢!
错误类似于“您的会话已过期;请重新登录..”等... Android 应用正在调用: HttpResponse response = httpclient.execute(new HttpGet(url.toString())); ,并且响应应该是 JSON 对象,例如:
{"login":true}