2013-03-12 2 views
3

현재, 나는 Node.js를 응용 프로그램 (이 경우에 ) 내 서버 측 템플릿 언어를 내 정적 /login & /index HTML 페이지를 제공 있습니다. 성공적인 인증 후에 현재 로그인 한 사용자에 대한 데이터를 반환하고자하므로 백본에서 콘텐츠 렌더링을 시작할 수 있습니다.Node.js를하고 Backbone.marionette 초기보기

예를 들어, 나는 그들이 (인증 정보)에 속하는 User 및 그룹에 대한 정보를 저장 에서 UserGroup 문서 몽고 있습니다.

Passport으로 사용자를 인증하고 기본 페이지로 리디렉션 할 수 있습니다. 리디렉션 후

app.post('/login', 
    passport.authenticate(
    'local', 
    { 
     successRedirect: '/', 
     failureRedirect: '/login', 
     failureFlash: true 
    } 
) 
); 

는 어떻게 백본이 / 백본 경로의 초기 렌더링에 데리러하는 사용자에 대한 데이터를 보낼 수 있습니까?

첫 번째 요청을 시작한 백본이 아니거나 사용자에 대한 메타 데이터가있는 세션을 사용한 백본이 아니더라도이 수치는 res.send()입니다.

답변

0

클라이언트로부터 공개 요청이 필요합니다. socket.io를 조사하여 페이지와 서버 사이의 연결을 유지하십시오. 그게 너무 많으면, 백본과 함께 AJAX 요청을하고 로그인이 성공할 때까지 서버가 요청을 '대기'하도록 한 다음 준비가되었을 때 응답을 보냅니다. 하지만 로그인 요청에 대한 ajax 요청과 일치시키는 것은 어려울 것입니다.

+0

socket.io를 사용하지 않으면 로그인 및 로그 아웃 요청보기를 구축하는 데있어 백본이 잘못되었습니다. 그 페이지가 익명의 견해이고 나는 사용자를 인증하기 전에 어떤 백본 코드도 시작하지 않기를 바랍니다. – Warz

+0

괜찮을 것입니다. – Max

+0

처음부터 백본을 사용하려했으나 그렇지 않습니다. 실제로 잘 돌아가고, 클라이언트 측에서 비즈니스 논리로 끝나서 사용자가 누구인지 파악하고 어떤보기, 레이아웃을 렌더링할지 결정합니다. – Warz

0

나는 인증 된 사용자가 쿠키를 가질 것이라고 생각합니다. 앱 초기화시 쿠키를 구문 분석하고 전역 사용자 객체를 생성 할 수 있습니다. 또는 페이지의 스크립트 태그에서 사용자 세부 정보를 json 형식으로 내보내고이를 사용하여 currentUser 객체를 빌드 할 수 있습니다. 이것이 이것을하는 제일 방법인지 나는 확실하지 않다; 나는 그것을 직접보고있다. 이것에 대한 생각/피드백을 듣고 싶어합니다.

관련 문제