2013-05-15 2 views
1

사용자가 임의의 페이지에서 로그인 할 수 있습니다.node.js의 "현재"페이지로 리디렉션하는 방법 (미들웨어 없음)

양식을 사용자가 현재 페이지로 리디렉션하고 문제없이 새로 고칠 수 있도록 POST 데이터를 지우고 싶습니다.

필자는 외부 라이브러리 또는 미들웨어를 사용하지 않고도이를 수행하는 방법을 찾거나이를 수행하는 방법을 찾지 못합니다.

도움이 될 것입니다.


편집 :
모든 페이지의 상단에 표시되는 로그인 양식이 있습니다. 사용자가 자격 증명을 입력 할 수 있으며 양식의 조치가 자체로 연결됩니다.

서버는 사용자가 로그인하고 있는지 확인하고 올바른 POST 변수가 설정되어 있으면 필요한 다양한 세션 변수를 설정합니다.

사용자를 로그인 양식을 사용하는 페이지로 리디렉션 할 수 있는지 궁금합니다.

+0

로그인 자격 증명을 사용하여 호출되는 별도의 로그인 경로가 있으며 해당 경로가 사용자를 페이지로 다시 리디렉션해야한다는 의미입니까? 에서 로그인 했습니까? 또한 "외부 라이브러리를 사용하지 않고"는 귀하가 Express 또는 이와 유사한 것을 사용하고 있지 않다는 것을 의미합니까? – robertklep

+0

@robertklep Yessir, 당신 말이 맞아요. 나는 익스프레스를 사용하지 않고있다. 그것은 나 자신을 위해 착수하고있는 약간의 교육 일 뿐이며, 나는 처음으로 어려운 일을하는 것을 선호합니다. 모든 페이지의 맨 위에 표시되는 로그인 양식이 있습니다. 사용자가 자격 증명을 입력 할 수 있으며 양식의 조치가 자체로 연결됩니다. 서버는 사용자가 로그인하고 있는지 확인하고 올바른 POST 변수가 설정되어 있으면 필요한 다양한 세션 변수를 설정합니다. 사용자를 로그인 양식을 사용하는 페이지로 리디렉션 할 수 있는지 궁금합니다. –

답변

2

Express와 같은 프레임 워크를 사용하고 싶지 않으므로 사용자가 어디서 왔는지 추적하려면 세션 관리 양식을 구현해야하거나 Referer을 사용해야합니다. 일단 인증되면 HTTP 헤더 (항상 전송되는 것은 아닐 수도 있음)를 리디렉션합니다. 물론

, 당신은 사람들을 생성하는거야 것은 자신을 리디렉션 : 당신은 자격 증명에 게시되는 별도의 URI를 사용하지 않을 경우,

res.writeHead(303, { Location : req.headers.referer }); 
res.end(); 

을 또는 (같은 /login), 그러나 단지 원하는 현재 페이지를 '다시로드'하면 다음을 사용할 수 있습니다.

관련 문제