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

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


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


Ответы (2)


Самый простой способ переопределить вид входа в систему 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
person cvaldemar    schedule 11.11.2010
comment
вы знаете, как настроить его из бэкэнда ?? например, если я создам обычную форму Symfony и отправлю ее в свое действие, контроллер должен проверить информацию для входа и создать сеанс. - person Harish Kurup; 11.11.2010
comment
не будет ли это новым изобретением действия входа в систему? Вы также можете легко переопределить действия, расширив sfGuardAuthActions в своих собственных модулях/sfGuardAuth/actions/actions.class.php — взгляните на BasesfGuardAuthActions.class.php в папке plugins/sfGuardPlugin/modules/sfGuardAuth/lib, чтобы узнать, какие действия для переопределения. - person cvaldemar; 11.11.2010

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

$this->signin = новый sfGuardFormSignin();

то в представлении вы можете делать все, что хотите.

person Chris    schedule 22.11.2010