Включить компонент в CakePHP 2 - PullRequest
       17

Включить компонент в CakePHP 2

1 голос
/ 29 октября 2011

Я пытаюсь работать с Security компонентом в Controller из CakePHP 2.0, но я делаю что-то не так с ним.

Я прочитал документацию , но когда я включаю Security компонент в свой Controller и вызываю действие контроллера register, я получаю blank page. Если я прокомментирую включение public $components = array('Security');, оно снова работает, где я не прав?

<?php
App::uses('CakeEmail', 'Network/Email');
class UsersController extends AppController {
    public $components = array('Security');

    public function register () {
        if (!empty($this->data)) {
            if ($this->data['User']['password'] == $this->data['User']['confirm_password']) {
                $this->User->create();
                $this->User->save($this->data);
                $this->registrationEmail ($this->data['User']['email'], $this->data['User']['username']);
                $this->redirect(array('controller'=>'users', 'action'=>'registration', 'success'));
            }
        }
    }
    private function registrationEmail ($account_email, $username) {
        $email = new CakeEmail('myconfig');
        $email->from(array('mailer@email.com' => 'MySite.com'));
        $email->to($account_email);
        $email->subject('Account activation / MySite.com');
        $email->template('activation');
        // $this->set('activation_code', Security->hash($account_email));
        $email->viewVars(
            array(
                'activation_code' => $this->Security->hash($account_email),
                'username' => $username
            )
        );
        $email->send();
    }
?>

1 Ответ

0 голосов
/ 02 декабря 2011

Как оформляется регистрационная форма в вашем файле просмотра?

Если вы используете компонент безопасности, все поля формы должны быть сгенерированы с помощью FormHelper. Кроме того, вы не можете возиться со скрытыми значениями во внешнем интерфейсе, если они получили значение от FormHelper.

...