Symfony: перенаправляет действия «secure» и «login» в другое приложение - PullRequest
0 голосов
/ 25 декабря 2010

Предположим, у нас есть 3 приложения - appMain, app1 и app2.

Приложения 1 и 2 защищены, у них есть is_secure: true и все отлично работает с плагином sfDoctrineGuard.

Я хочу добиться поведения, когда пользователь не аутентифицирован, текущее приложение направляет его другому, скажем, appMain с определенным модулем и действием.

Возможно ли это?Или может кто-нибудь сказать мне, где копать о механизмах безопасности в Symfony?

Ответы [ 3 ]

1 голос
/ 26 декабря 2010

Сделайте абсолютный URL и перенаправьте туда ( "Keep It Simple, Stupid" ).

0 голосов
/ 27 декабря 2010

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

Спасибо, ребята.

0 голосов
/ 26 декабря 2010

Если у вас есть стандартный apps / frontend, то в apps / frontend / config будет файл settings.yml

здесь, в разделе по умолчанию, выполните следующие действия:

default:
  .actions:
    error_404_module:       content
    error_404_action:       404

    login_module:           security
    login_action:           login

затем он будет перенаправлен на security / login (или как вы называете модуль и шаблоны)

Обычно я устанавливаю для apps / frontend / config / security.yml верхнего уровня значение ..

default:
  is_secure: true

это обеспечивает безопасность всего сайта, затем в любых общедоступных модулях, в этом случае для обеспечения безопасности создайте config.yml и установите его следующим образом:

default:
  is_secure: false

, вам нужно будет сохранить тот факт, что аутентифицировано, еслипользователь входит в систему следующим образом

$this->getUser()->setAuthenticated(true);

[править] должен указать, что я не использую sfDoctrineGuard

...