1

現在、ユーザー名とパスワードを指定して、ユーザーをバックエンドにログインさせるカスタム コンポーネントを動作させようとしています。これがもたらす可能性のある固有のセキュリティ問題は認識していますが、私が苦労してきたこの問題に対する答えが本当に欲しいです. これが私のcontroller.phpのコードです:

function execute() {
    $credentials = array( 'username' => $this->username, 
        'password' => $this->password );
    $options = array();
    $options['group'] = 'Public Backend';
    $options['autoregister'] = false;
    $options['action'] = 'core.login.admin';
    $app =& JFactory::getApplication('administrator');
    $result = $app->login($credentials, $options);
    echo $result;
}

私が読んだすべてのドキュメントは、これが機能するはずであると述べています(バックエンドへのログインなどの管理タスクを非管理コンテキストから実行することは正確ではありませんが)。私が得ていないものについて何か考えはありますか?

編集:使用しているJoomlaのバージョンについて言及するのを忘れていました:2.5.14

4

1 に答える 1

1

ユーザーと認証のプラグインで管理されているJoomlaの認証・ログイン・認可フローとユーザーフローに注意する必要があると思います。あなたの言うことから、あなたはまだ Joomla ユーザー テーブルを使用しているように聞こえますが、そうですか? その場合、Joomla ユーザー プラグインが機能するはずです。

それが真であると仮定すると、認証プラグインを作成する必要があります。このプラグインは、joomla 認証プラグインおよび実行しているその他の認証プラグイン (例: remember me/cookie login) と一緒にチェックされます。

あなたが何をしようとしているのか完全には理解できません (また、あなたが使用している Joomla のバージョンを教えていないため、この場合は違いがあります)。たとえば、完全なバックエンドにログインしたいですか?画像挿入プラグインのようにいくつかの画面を表示したいだけですか? Joomla 3 を使用している場合は、管理者をフロント エンド (現在は com_services と呼びます) に導入するための Google Summer of Code プロジェクトを参照することをお勧めします。その学生には、参照できる http ログイン プラグインもあります。https://github.com/Buddhima/Joomla-HttpLogin-plugin

于 2013-09-13T03:30:28.063 に答える