6

GitHubをブラウズすると、ログイン/認証システムを作成するための多くの機能 (アカウントの検証、パスワードのリセットなど) を備えたCakeDC Usersという非常に強力なCakePHP プラグインが見つかりました。実際の CakePHP 開発者の何人かによって書かれているようで、頻繁に更新されますが、どこにもドキュメントがまったくないように見えるので、私はそれが好きです. 自分のソリューションで「ローリング」するよりも良い方法があるかどうかを確認しようとしていたので、最近このプラグインに出くわしました。だから、ここにいる誰かがそれを経験したことがあるかどうか、もしそうなら、オンラインでまともなドキュメントを指摘できるかどうか疑問に思っていました.

編集readme の最後にいくつかの内容がありますが、私にはあまり直感的ではありませんでした。

別の質問ですが、このプラグインを使用しない場合、ログイン/認証に使用する CakePHP で使用するログイン/認証プラグインはありますか?

4

3 に答える 3

4

私は CakeDC プラグインの使用で同じ問題に遭遇しました。それらの多くにはドキュメントがほとんどまたはまったくありません。

ただし、「ゼロ」のドキュメントはありません。ほとんどの設定方法は、 github ページの下部のread me で確認できます。また、これを AppController::beforeFilter() メソッド内に配置する必要があります。

$this->Auth->authorize = 'controller';
$this->Auth->fields = array('username' => 'email', 'password' => 'passwd');
$this->Auth->loginAction = array('plugin' => 'users', 'controller' => 'users', 'action' => 'login', 'admin' => false);
$this->Auth->loginRedirect = '/';
$this->Auth->logoutRedirect = '/';
$this->Auth->authError = __('Sorry, but you need to login to access this location.', true);
$this->Auth->loginError = __('Invalid e-mail / password
combination.  Please try again', true);
$this->Auth->autoRedirect = true;
$this->Auth->userModel = 'User';
$this->Auth->userScope = array('User.active' => 1);
if ($this->Auth->user()) {
    $this->set('userData', $this->Auth->user());
    $this->set('isAuthorized', ($this->Auth->user('id') != ''));
} 

また、次のisAuthorized()ような単純な関数が必要です。

public function isAuthorized() {
    return true;
}

さらに、「ログイン」アクションを許可する必要があります (これには、プラグイン ファイルの編集が含まれます)。'login' を$this->Auth->allow()in に追加するだけusers_controller.phpです。

于 2011-06-24T09:36:42.473 に答える
1

この質問は今ではかなり古いものですが、解決済みとしてマークされておらず、それ以来ドキュメントで多くのことを行ってきたので、更新する価値があると思います:

ドキュメントは次の場所にあります。

フレームワークのバージョン 3 以降の場合

(旧) バージョン 2 の場合

于 2016-03-07T10:41:34.823 に答える
1

徹底的に検索した結果、CakeDC の使用方法に関するチュートリアルを見つけました。

ここにあります

于 2014-03-03T18:16:05.097 に答える