여권 로컬 인증을 사용하여 단일 페이지 응용 프로그램을 작성합니다. 사용자가 인증되어 app.post "/login"
내에 반환됩니다. 사용자 개체가 반환 된 후 Chaplin.mediator.user
(예 : facebook-example)에 저장됩니다. URL을 수동으로 변경하지 않는 한 모든 것이 정상적으로 작동하지만 URL을 변경하고 Enter 키를 누르면 애플리케이션이 다른 경로로 다시로드되지만 프런트 엔드에는 사용자가 없습니다.경로를 수동으로 변경 한 후에 mediator.user가 손실됩니다.
내가 지금하고있는 일은 내가 수동으로 경로를 변경할 때마다 서버에 요청을 보내고 req.user
에 사용자를 요청하는 것입니다. 사용자를받은 후 응용 프로그램은 해당 워크 플로를 계속 수행합니다. 그것은 작동하지만, 이것이 어떻게 될 것인지에 대해서는 생각하지 않습니다. 응답을 기다리지 않으면 로그인해도 사용자 객체가 없습니다.
이 문제를 어떻게 해결할 수 있습니까?
편집 : 사용자가 별도의 쿠키로 저장됩니다. 이 내가 사용자 저장하는 방법입니다
$.cookie.json = true;
$.cookie 'user', user.toJSON()
을 그리고 이것은 페이지가로드 된 후 나는 사용자를 추출하는 방법입니다
userCookie = $.cookie 'user'
if userCookie?
mediator.user = new Model JSON.parse userCookie
당신은 그것을 작동하게하는 jquery-cookie plugin이 필요합니다. 사용자가 로그 아웃하면 쿠키를 삭제하는 것을 잊지 마십시오. 그리고 물론 저는 다른 아이디어에 대해서도 열려 있습니다.