2012-03-12 4 views
0

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

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

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

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

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

ответ

1

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

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

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

ИЛИ

$user = $this->getUser(); 
$user->setAttribute('username', $loginDetails['username']); 
$user->addCredential('user'); 
Смежные вопросы