перезапись isAuthenticated () в symfony - PullRequest
0 голосов
/ 05 апреля 2011

Я делаю Практическое Symfony с Doctrine - Jobeet Job Website просто пытаюсь понять, как работает бэкэнд, я пытаюсь переписать функцию isAuthenticated () в веб-интерфейсе и бэкэнде, что я и сделал: просто, в моем файле apps \ frontend \ lib \ myUser.class.php я сделал это публично

function isAuthenticated()
{
    return (bool)($this->authenticated && $this->getAttribute('is_customer', false, 'sfGuardSecurityUser'));
}

я также перезаписываю функцию входа в sfDoctrineGuard следующим образом

public function signIn($user, $remember = false, $con = null)
{
    parent::signIn($user, $remember, $con);
    if($this->authenticated){
        $this->setAttribute('is_customer', true, 'sfGuardSecurityUser');
    }
}

я сделал то же самое для бэкэнда в apps \ backend \ lib \ myUser.class.php, но с использованием is_admin , до сих пор все идеально, только в бэкэнде, когда я собираюсь редактировать задание, sfGuardSecurityUser в сеансе теряется, почему, потому что функция isAuthenticated (), которая вызывается на этой странице, находится в apps \ frontend \ lib \ myUser.class.php, поэтому, когда я пытаюсь изменить страницу, когда я выхожу из системы, вызванная функция isAuthenticated () находится в apps \ backend \ lib \ myUser.class.php, звучит редко, но это происходит только на странице редактирования заданий, теперь я Я застрял здесь, надеюсь, вы все понимаете меня, и, если быть более точным, когда я перехожу на страницу задания / редактирования и в действие я помещаю print_r ($ _ SESSION) , я могу видеть эту часть

[sfGuardSecurityUser] => Array
            (
                [user_id] => 1
                [is_admin] => 1
            )  

но если я перезагружаю страницу, я больше не вижу эту часть, поэтому, когда я пытаюсь изменить страницу, я выхожу из системы и многое другое, если я комментирую или удаляю isAuthenticated из apps \ frontend \ lib \ myUser.class.php все в бэкэнде идеально, но мне нужно перезаписать функцию в бэкэнде и интерфейсе

нужна помощь

спасибо

1 Ответ

0 голосов
/ 05 апреля 2011

Попробуйте установить точные имена сеансов в своих приложениях 'factories.yml:

all:
  storage:
      class: sfSessionStorage
      param:
        session_name: my_session_name
        session_cookie_domain: example.com
...