Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как создать собственный логин для пользователя sfGuard в Symfony?

Автор вопроса: Harish KurupОтветов: 2

Я использую Symfony 1.4 и ORM в качестве Propel в своем проекте. Я настроил Settings.yml для защиты своей страницы. Но могу ли я сделать собственный вход/выход с помощью своих действий, расширяющих все функциональные возможности плагинов SfGuard. Я нашел одну статью в SymfonyLab, но недостаточно ясно.

  • Можете ли вы более конкретно определить пользовательский вход/выход из системы - вы имеете в виду пользовательский шаблон для страницы входа или что-то другое? richsage 11.11.2010
  • Это как пользовательский шаблон для страницы входа. вместо входа в Symfonys по умолчанию вы хотите создать пользовательскую страницу входа. Harish Kurup 11.11.2010
  • Вы хотите изменить вид, выполнить другие действия входа/выхода или выполнить дополнительные действия входа/выхода? В зависимости от того, какая комбинация этих 3-х (или других) вещей влияет на ответ. Jeremy Kauffman 11.11.2010
  • в вашем приложении есть страница пользователя, которая дает пользователю возможность редактировать свою информацию. но для этого требуется логин, поскольку пользователь входит в систему, тогда он должен быть перенаправлен на страницу редактирования пользователя, иначе на страницу ошибки. Я хочу, чтобы этот логин был сделан настраиваемым, например, по шаблону и функционально.. т. е. в приведенном выше случае @jeremy выполнял различные действия входа/выхода из системы. Harish Kurup 11.11.2010

phpsymfony1sfguard

Ответы

Ответ 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.

Похожие материалы