[解決済み] Node.jsとExpress.jsのセッションはどのように機能するのですか?
質問
使用方法 Express.js を使えば、セッションは非常にシンプルになります。しかし、実際にどのように動作するのか気になるところです。
クライアント上に何らかのクッキーを保存するのでしょうか?もしそうなら、そのクッキーはどこで見つけることができますか? 必要な場合、それをどのようにデコードすればよいのでしょうか。
私は基本的に、ユーザーがその時点で実際にサイトにいない場合でも、ユーザーがログインしているかどうかを確認できるようにしたいのです(他のサイトにいるときにログインしていることをfacebookが知っている方法のような)。しかし、それを理解するためには、まずセッションがどのように機能するかを理解する必要があると思います。
どのように解決するのですか?
によると、Express.jsを使ったことがないのですが、どうすればいいのでしょうか? のドキュメントによると によると、そのようです。
-
クッキーは、キー(サーバーがセッションデータを取得するために使用)とハッシュ(サーバーがクッキーのデータが改ざんされていないことを確認するために使用するもので、値を変更しようとするとクッキーは無効になります)を使って、クライアントに保存されます。
-
セッションデータは、いくつかのフレームワークとは対照的に(たとえば プレイフレームワーク !) はサーバーに保持されるため、クッキーは実際のセッションデータのホルダーというよりも、セッションのプレースホルダーのようなものです。
-
から ここから を見ると、サーバー上のこのセッションデータはデフォルトでメモリに保持されているようですが、適切な API を実装しているストレージ フォームに変更することができます。
というわけで、もしあなたが特定の
req
リクエストオブジェクトなしで確認したい場合は、おっしゃるとおり、同じストレージにアクセスする必要があります。最初のドキュメントのページの一番下に、ストレージが実装する必要がある必須メソッドが詳しく書かれています。
.getAll()
を実行し、セッションデータをループして好きな値を読み取ることができるかもしれません。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?