거의 모든 웹 응용 프로그램과 마찬가지로 내 node.js 응용 프로그램에서 현재 사용자를 참조 할 방법이 필요합니다.현재 사용자를 node.js에 저장해야하는 위치는 어디입니까?
로그인/세션 시스템이 작동하지만 한 브라우저에서 내 앱에 로그인하여 다른 브라우저에서 볼 때 첫 번째 브라우저에서 볼 수있는 것과 동일한 데이터를 볼 수 있습니다.
현재 전역 app.current_user 개체에 현재 사용자에 대한 정보를 저장하고 있지만 node.js가 단일 스레드이기 때문에 이것이 모든 요청/세션에서 공유됨을 알게되었습니다. 따라서 나쁜 생각.
현재 사용자에게 참조를 저장하는 올바른 방법은 무엇입니까? 현재 사용자는 사용자 데이터의 해시가 아니라 몽구스 모델이므로 쿠키에 저장하는 것이 좋은 생각이 아니겠습니까?
BTW - 또한 사용자 설정 및 한 번 요청할 때마다 수 차례 발생할 수있는 설정을 할 때마다 다시 가져오고 싶지 않은 몇 가지 사항을 저장합니다. 현재 사용자를 메모리에 캐싱한다고 말할 수 있습니다.
을 내가 passport.js를 사용 인증을 위해 모든 사용자 정보는 req.user에 저장됩니다. 내 사용자를 위해 내 자신의 몽구스 모델을 만들었습니다. –
@StanCromlish - req가 현재 요청으로 범위가 지정되었으므로 (즉, 전역 적이 지 않음)이 기능이 작동합니다. 그러나, 나는 내 애플 리케이션 (여기서 Locomotivejs 프레임 워크를 사용하여) req 개체를 전달할 수 있는지 잘 모르겠습니다. – ragulka
나도 Locomotivejs에 대해 몰라요. Express 및 EJS 뷰를 사용하여 Node.js에서 req 객체를 전달합니다. req로 경로를 정할 수 있다면 Locomotive로 다시 시작할 수 있습니다. –