外部管理登录脚本?

时间:2012-09-26 13:33:10

标签: android joomla joomla2.5 joomla-component

我真的需要你的帮助。我是初级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响应。

例如,当我输入:

http://some.joomla.website/index.php?option=com_cjoomdroid&view=authetication&task=login&username=user&password=pass&format=raw

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

    // 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=authetication&task=login&username=user&password=pass&format=raw

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

谢谢!

错误就像“你的会话已经过期;请再次登录......”等... Android应用程序正在调用:HttpResponse response = httpclient.execute(new HttpGet(url.toString())); ,响应应该是JSON对象,如:

{"login":true}

1 个答案:

答案 0 :(得分:0)

自动登录Joomla可能非常棘手 您应该查看Google群组中的this post 有一个名为FrameworkOnFramework的库可以增强Joomla的功能,并允许您自动登录(通过CLI或使用简单的调用),提供非常好的保护。