Я использую Symfony 1.2.7 и плагин sfGuardUser. Я могу просматривать все страницы, войти и выйти. Однако, когда я пытаюсь отредактировать (просто перейти к форме) или обновить объект (сохраняя изменения) иногда , у меня возникают проблемы с авторизацией, и Symfony снова перенаправляет меня на страницу редактирования формы. Я делаю некоторые акценты на иногда , потому что это то, что сводит меня с ума:)
У пользователей есть куки-файлы и файл Remember_cookie. Я использую домен cookie ".domain.com" для обоих файлов cookie, поскольку мы работаем с поддоменами.
На filters.yml у меня есть следующее:
security: ~
remember:
class: sfGuardBasicSecurityFilter
этот фильтр используется многими:
class sfGuardBasicSecurityFilter extends sfFilter
{
public function execute ($filterChain)
{
if ($this->isFirstCall() && !$this->getContext()->getUser()->isAuthenticated())
{
if ($cookie = $this->getContext()->getRequest()->getCookie(sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember')))
{
$q = Doctrine_Query::create()
->from('sfGuardRememberKey r')
->innerJoin('r.sfGuardUser u')
->where('r.remember_key = ?', $cookie);
if ($q->count())
{
$this->getContext()->getUser()->signIn($q->fetchOne()->sfGuardUser);
}
}
}
$filterChain->execute();
}
}
О модуле / config / security.yml
edit:
is_secure: on
update:
is_secure: on
Глядя на http-заголовки, я получаю ответ HTTP 302. Если я посмотрю на код, который вызывает это перенаправление; Я заметил, что кажется, что перед действием редактирования или обновления пользователь не распознает:
Jul 08 19:03:15 symfony [info] {sfFilterChain} Executing filter "sfBasicSecurityFilter"
Jul 08 19:03:15 symfony [info] {sfFilterChain} Executing filter "sfRenderingFilter"
Jul 08 19:03:15 symfony [info] {sfFilterChain} Executing filter "sfGuardBasicSecurityFilter"
Jul 08 19:03:15 symfony [info] {sfDoctrineLogger} executeQuery : SELECT COUNT(*) AS num_results FROM (SELECT s.id, s.ip_address FROM sf_guard_remember_key s ...
Jul 08 19:03:16 symfony [info] {sfDoctrineLogger} executeQuery : SELECT s.id AS s__id, s.user_id AS s__user_id, s.remember_key AS s__remember_key, s.ip_address ...
Jul 08 19:03:16 symfony [info] {myUser} User is authenticated
Jul 08 19:03:16 symfony [info] {sfDoctrineLogger} executeQuery : SELECT s.id AS s__id, s.name AS s__name, s.description AS s__description, s.created_at AS ....
Jul 08 19:03:16 symfony [info] {sfDoctrineLogger} executeQuery : SELECT s.id AS s__id, s.name AS s__name, s.description AS s__description, s.created_at AS ....
Jul 08 19:03:16 symfony [info] {myUser} Add credential(s) ""
Jul 08 19:03:16 symfony [info] {sfDoctrineLogger} executeQuery : UPDATE sf_guard_user SET last_login = ?, updated_at = ? WHERE id = ? - (...
Jul 08 19:03:16 symfony [info] {sfFilterChain} Executing filter "subdomainFilter"
Есть идеи о том, где я могу продолжать искать или как я могу это исправить?
Большое спасибо!