Symfony вход в систему пользователя - PullRequest
0 голосов
/ 13 марта 2012

Я использую Symfony 1.4, и у меня возникают проблемы, когда я думаю о том, что это должен быть простой процесс - вход в систему. Сначала я смотрел учебник Jobeet, охватывающий тему здесь . Из этого руководства видно, что хранить информацию о пользователе должно быть довольно просто.

В настоящее время я пытаюсь сделать очень простые записи. Сначала сохраните имя пользователя для связанной учетной записи, затем добавьте учетные данные «пользователь», которые я буду использовать в качестве основы для определения того, вошли ли они в систему. Из приведенного выше руководства видно, что ничего не нужно инициализировать, и код должен работать самостоятельно, поэтому я попробовал следующее:

$this->getUser()->setAttribute('username', $loginDetails['username']);
$user->addCredential('user');

Это, как я и думал, само по себе не работает. Тем не менее, я понятия не имею, что нужно инициализировать в первую очередь, поэтому я застрял здесь.

Что требуется для хранения такого рода информации. Кроме того, после того, как я установил эту информацию, будет ли она, пока пользователь не выйдет из системы? Или мне нужно что-то делать на каждой странице, чтобы эта информация передавалась?

1 Ответ

1 голос
/ 13 марта 2012

sfUser по сути является моделью, отвечающей за взаимодействие с сеансом. Так что это помогает думать об этом в этом отношении. Таким образом, применяются все правила обычного сеанса.

Что касается вашего кода, который должен работать, предполагая, что ваш пользовательский класс расширяется sfSecurityUser. Единственная проблема, которую я вижу, это то, что во второй строке у вас нет переменной $user, она должна быть:

$this->getUser()->setAttribute('username', $loginDetails['username']);
$this->getUser()->addCredential('user');

OR

$user = $this->getUser();
$user->setAttribute('username', $loginDetails['username']);
$user->addCredential('user');
...