Я использую Symfony 1.4 и ORM в качестве Propel в своем проекте. Я настроил Settings.yml для защиты своей страницы. Но могу ли я сделать собственный вход/выход с помощью своих действий, расширяющих все функциональные возможности плагинов SfGuard. Я нашел одну статью в SymfonyLab, но недостаточно ясно.
Вопрос
Как создать собственный логин для пользователя sfGuard в Symfony?
- Можете ли вы более конкретно определить пользовательский вход/выход из системы - вы имеете в виду пользовательский шаблон для страницы входа или что-то другое? richsage 11.11.2010
- Это как пользовательский шаблон для страницы входа. вместо входа в Symfonys по умолчанию вы хотите создать пользовательскую страницу входа. Harish Kurup 11.11.2010
- Вы хотите изменить вид, выполнить другие действия входа/выхода или выполнить дополнительные действия входа/выхода? В зависимости от того, какая комбинация этих 3-х (или других) вещей влияет на ответ. Jeremy Kauffman 11.11.2010
- в вашем приложении есть страница пользователя, которая дает пользователю возможность редактировать свою информацию. но для этого требуется логин, поскольку пользователь входит в систему, тогда он должен быть перенаправлен на страницу редактирования пользователя, иначе на страницу ошибки. Я хочу, чтобы этот логин был сделан настраиваемым, например, по шаблону и функционально.. т. е. в приведенном выше случае @jeremy выполнял различные действия входа/выхода из системы. Harish Kurup 11.11.2010
Ответы
Ответ 1 · рейтинг 9 · cvaldemar
Самый простой способ переопределить вид входа в систему sfGuard:
1) Создайте каталог с именем "sfGuardAuth" в вашем интерфейсном модуле:
mkdir apps/frontend/modules/sfGuardAuth
mkdir apps/frontend/modules/sfGuardAuth/templates
2) Скопируйте шаблоны по умолчанию из папки sfGuardPlugin в новый модуль
cp plugins/sfGuardPlugin/modules/sfGuardAuth/templates/* apps/frontend/modules/sfGuardAuth/templates
3) Отредактируйте новые файлы по своему вкусу.
4) Очистить кеш
./symfony cc
Ответ 2 · рейтинг 2 · Chris
Вы также можете отобразить форму входа в любом месте. У меня есть страница для регистрации или входа пользователей, поэтому я сделал что-то вроде:
$this->signin = новый sfGuardFormSignin();
то в представлении вы можете делать все, что хотите.
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.