Symfony 1.2.7 및 sfGuardUser 플러그인을 사용하고 있습니다. 모든 페이지, 로그인 및 로그 아웃을 볼 수 있습니다. 그러나 (폼으로 가거나) 오브젝트를 수정 (변경 사항 저장)하려고 할 때 가끔 나는 인증에 문제가 있으며 symfony가 편집 폼 페이지로 다시 리다이렉트합니다. 때로는에 몇 가지 강조를 달았 기 때문에 그것이 나를 미치게 만들었습니다.sfGuarduser의 인증 문제 (보안 필터) symfony
사용자는 쿠키와 remember_cookie를 가지고 있습니다. 하위 도메인과 작업하기 때문에 두 쿠키 모두에 대해 쿠키 도메인 ".domain.com"을 사용하고 있습니다.
filters.yml에서I는 다음 가지고
많은 필터에 의해 사용되는 하나security: ~
remember:
class: sfGuardBasicSecurityFilter
: 모듈/구성/security.yml
edit:
is_secure: on
update:
is_secure: on
에서
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();
}
}
가
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"
내가 계속 찾고하거나 내가 그것을 고칠 수있는 방법 위치에 대한 어떤 생각?
고맙습니다.
안녕하세요, 어떻게 sfguard 쿠키 도메인을 변경 하시겠습니까? 제발,이 스레드에있는 질문을 참조하십시오 : http://stackoverflow.com/questions/19452914/symfony-sfguarduser-single-authentication-on-several-subdomains – flm