ExpressGeneratorでセッションを使ってみる

JavaScript

ExpressGeneratorでWebアプリを作ってセッション管理周りを試してみる

Webアプリ開発に必要な標準装備はExpressGeneratorでWebアプリプロジェクトを作成するとついてくるのだが、なぜがセッションに関するモジュールはインストールされない

なので、まずはWebアプリのディレクトリに移動してセッションモジュールをインストールする

npm install –save express-session

これでセッションを使えるようになったので早速使ってみる

あ、プロジェクトはExpressGeneratorを使ってみたの記事で作成したものをそのまま流用しますので悪しからず

セッションモジュールをインストールしたら、app.jsにセッションの設定を行います

こんな感じ

セッションオブジェクトを用意したら、セッションに設定する内容を書きます(ポイント1の部分)

secret:秘密キーとなるテキスト。セッションIDなどでハッシュ化する際のキーとなるもの。好きに書き換えてもOK

reserve:セッションストアと呼ばれる所に強制的に値を保存するためのもの

saveUninitilaized:初期化されていない値を強制的に保存するためのもの

cookie:セッションIDを保管するクッキーの設定。今回はmaxAgeに1時間の設定をしているため、最後のアクセスから1時間はセッションが保存される

設定値が用意できたらapp.useでセッション関数を設定。これでセッション関数が機能し、セッションが使えるようになる

※ちなみにこのapp.useはルーティング情報の設定より前に書くようにします!

では、早速セッションに値を設定してみよう!「hello.js」のget関数でセッションに値を設定する処理を実装します。こんな感じ

/helloにアクセス(get)した際に、セッションのメッセージに値が存在すればその値を表示し、何もなければ「Please write down something..」と表示されます

では次に、そのメッセージを送信するhello.ejsを修正します。こんな感じ

実際に/helloにアクセスしたらこんな感じ

いいですねー

で、このテキストボックスに「Yes!」とメッセージを入力して送信すると、こうなります

で、しばらくアクセスせずに10分後とかにまた/helloへアクセスしてみます

しっかりYes!と表示されます!これは、ブラウザのCookieに存在するセッションIDと紐づくセッションオブジェクトからメッセージプロパティをちゃんと読み込んでくれたということです^^

以上でセッションを使ってみたの記事は終わりまーす

簡単でしたね!では次はNode.jsでデータベースを使ってみたいと思います。BYE!

コメント

タイトルとURLをコピーしました