2014-06-09 2 views
0

사용자가 로그인 할 때 "내 계정 정보 기억"옵션을 만들려고합니다. 그러나 브라우저가 쿠키를 볼 때 어떤 시도를하든 상관 없습니다. , 단지 Expires: At end of session을 보여줍니다. 한 번 브라우저를 닫고 내 페이지로 돌아 오면 로그 아웃됩니다. 내 settings.py에서장고 쿠키 연령 설정이 잘못되었습니다.

나는 ... (AngularJS와에) 프런트 엔드 내가 가지고 온

다음 내가해야 할 일을하고 있다고 가정 어느
SESSION_EXPIRE_AT_BROWSER_CLOSE = False 
SESSION_COOKIE_AGE = 10000000 

을 설정 한 쿠키의 저장을 위해 :

$http.post('http://localhost:8000/auth/login/', {email: this.login['arguments'][0]['email'], password: this.login['arguments'][0]['password']}) 
     .success(function(response){ 
      if (response.token){ 
      $cookieStore.put('djangotoken', response.token); 
      $http.defaults.headers.common['Authorization'] = 'Token ' + response.token; 
      } 
     }) 
     .error(function(data, status, headers, config){ 
      $cookieStore.remove('djangotoken'); 
     }); 

사람이 어떻게 그냥 그 주시면 감사하겠습니다 설정 지정된 나이에 머물 내 쿠키를 얻을 나를 보여줄 수 있다면!

답변

0

쿠키를 Angular에서 직접 설정하므로 Django 세션 쿠키 나이와 관련이 없습니다. 쿠키를 설정할 때 만료 시간을 지켜야합니다.

내장 된 Angular cookieStore API는 불필요하게 제한적이며이를 지원하지 않습니다. 좋은 대안 인 것 같습니다. angular-cookie.

+0

내 프로젝트는 아직 초기 단계이므로, 내가하고있는 일에 얽매이지 않는다. 어떻게 든 장고에서 쿠키를 설정하도록 제안하겠습니까? – Zambezi

+0

글쎄, 내가 뭘하려고하는지 잘 모르겠다. 장고는 이미 로그인 상태를 세션에 저장하고 있습니다. 사용자가 로그인했는지 여부를 결정하기 만하면 Django에서 전달해야합니다. 기본 템플릿을 렌더링 할 때 문맥에서 전달해야합니다. –

관련 문제