3
완전한 클라이언트 관리 세션을 지원하기위한 프레임 워크가 있습니까? 즉, 서명 된 pid를 쿠키에 저장하는 대신 (Express처럼) 모든 컨텍스트를 저장하여 유지할 필요없이 클러스터 전체의 상태를 관리 할 수 있습니다.NodeJS - 무국적 세션을위한 프레임 워크?
완전한 클라이언트 관리 세션을 지원하기위한 프레임 워크가 있습니까? 즉, 서명 된 pid를 쿠키에 저장하는 대신 (Express처럼) 모든 컨텍스트를 저장하여 유지할 필요없이 클러스터 전체의 상태를 관리 할 수 있습니다.NodeJS - 무국적 세션을위한 프레임 워크?
이 지원 명시 미들웨어가 :
https://github.com/expressjs/cookie-session
cookieSession()
은 쿠키 기반 세션을 제공하고 req.session를 채 웁니다가. 이 미들웨어는 다음 옵션을 취합니다 - 쿠키 이름은 "세션"
미들웨어 :
var cookieSession = require('cookie-session')
...
app.use(cookieSession({
name: "my_session_cookie",
secret: "dont_tell_anybody_the_secret_and_change_it_often",
options: { ... }
));
app.use((req, res, next) => {
// set options on req.session before your response goes out
req.session.viewCount = (req.session.viewCount || 0) + 1;
res.end(`You viewed the page ${req.session.viewCount} times.`);
});
쿠키는 단순히 응답하기 전에 null로 세션을 할당 취소하려면 :
req.session = null
세션은 서버에 대한 의미 이용자의 개인 정보가 포함되어 있습니다. 전체 세션을 사용자에게 다시 보내는 것은 좋지 않습니다. 그것은 클라이언트에 의해 조작 될 수 있습니다. 완전한 클라이언트 관리 세션은 좋지 않습니다. – user568109
@ user568109 이것은 일반적인 패턴이며 안전하게 수행 할 수 있습니다. http://www.cse.msu.edu/~alexliu/publications/Cookie/cookie.pdf –
안전한 쿠키 프로토콜은 제 3 자의 브라우저와 서버 간의 연결을 보호하는 것에 관한 것입니다. 사용자가 수정할 수 없도록 브라우저에서만 관리되는 HTTP 전용 쿠키입니다. – user568109