node. JS Web Development: EXPRESS 4.x above using session and Cookie Records

Source: Internet
Author: User
Tags sesion

About session and cookies I've been doing this for 2-3 days, and I find this thing a lot of trouble. Many tutorials keep this conversation in NoSQL, such as MONGO, or Redis, and so on. But I still want to keep it in my computer's memory, which is more traditional. There are many articles on the Internet, but basically you copy me, I copy you, And Express has a lot of this session/cookie middleware, always confusing. Many articles are donuts, completely rely on their own slowly to try, to read the document, to explore.

I am based on the middleware of Connect. This middleware feature is very powerful

Interested students can refer to: http://blog.fens.me/nodejs-connect/

Installation here will not say. Here we come to realize, we hope to be useful to everyone

Import module in App.js

1 var connect = require (' Connect ');

Join before routing the distribution statement.

1 App.use (Bodyparser.json ()); 2 App.use (bodyparser.urlencoded ()); 3 App.use (Cookieparser ()); 4 App.use (Connect.session ({secret: ' lgphp ', key: ' lgphp ', cookie: {maxage:20000}}));  // Session duration is 20 seconds, this is in milliseconds, so we have a session, this is a global setting 5 routes (APP);

First say session, set the session KV

Req.session.sessname = ' I am a sesion ';

So we set up a session variable named Sessname, the value is Iam a sesion, the session duration is 20 seconds. Typing on Ubuntu is still not very flexible

Get session

Res.send (' session: ' + req.session.sessname)

Delete session

   Req.session.destroy ();

Determine if the session exists

if (req.session) {   // determine if session is destroyed

The above session operation is enough to complete the usual logic.

The following is a cookie, which we often use.

Set cookies

1   Res.cookie (' cookiename ', ' I am a cookie ', {maxage:20000,httponly:true, Path: '/'}); // cooike Duration (sec)

Get the value of a cookie

var c = req.cookies.cookiename   // This is a Dictionary object, you can use parentheses to get

Delete cookies, many online, but it seems to be useless, some have set the expiration time to 0, I tried, the value of the cookie is not, but the cookie is still in, with Chrome to see there.

   Res.cookie (' cookiename ', ' null ', {maxage:0});

There's no problem with deleting it.

Determine if a cookie exists, such as login and permission verification. After the cookie expires, it becomes a undefined, so we judge

if (' undefined ' = = = (typeof  req.cookies.cookiename)) {             res.send (' deleted cookie ');         }

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.