摘要:默認(rèn)鏈接錯(cuò)誤其他中間件省略默認(rèn)小時(shí)全局中間件第一次登陸從數(shù)據(jù)庫(kù)中比對(duì)賬號(hào)驗(yàn)證是否成功,如成功保存用戶信息登陸成功需要登陸驗(yàn)證的路由獲取文章你好,歡迎來到我的家園。你還沒有登錄,先登錄下再試試個(gè)人項(xiàng)目小博客鏈接參考文章
redis.js
var ioRedis = require("ioredis"); var logger = require("./logger"); var redis = new ioRedis(); // 默認(rèn)127.0.0.1:6379 // redis 鏈接錯(cuò)誤 redis.on("error", function (error) { logger.error(error); }); exports.redis = redis;
app.js
const index = require("./routes/index.js"); const app = express(); const cookieParser = require("cookie-parser") const session = require("express-session"); const RedisStore = require("connect-redis")(session); const http = require("http"); const httpServer = http.createServer(app); var redis = require("./redis/redis.js").reids; ...其他中間件省略 app.use(cookieParser("sessiontest")); app.use(session({ store: new RedisStore({ client: redis, prefix: "hgk" }), cookie: { maxAge: 1 * 60 * 60 * 1000 }, //默認(rèn)1小時(shí) secret: "sessiontest", resave: true, saveUninitialized: true })); app.use("/", index) //全局error中間件 app.use(function(err, req, res, next) { console.log("Error happens", err.stack); }); httpServer.listen(3000, function() { console.log("HTTP Server is running on: http://localhost:%s", 3000); });
第一次登陸
router.get("/login", function(req, res, next) { // 從數(shù)據(jù)庫(kù)中比對(duì)賬號(hào)驗(yàn)證是否成功,如成功保存用戶信息 var user={ name:"Chen-xy", age:"22", address:"bj" } req.session.user=user; res.json("登陸成功") });
需要登陸驗(yàn)證的路由
//獲取文章 router.get("/articals", function(req, res, next) { if(req.session.user){ var user=req.session.user; var name=user.name; res.send("你好"+name+",歡迎來到我的家園。"); }else{ res.send("你還沒有登錄,先登錄下再試試!"); } });
個(gè)人項(xiàng)目小博客鏈接https://github.com/hangaoke1/...
參考文章:
http://blog.csdn.net/u0126795...
http://wiki.jikexueyuan.com/p...
http://blog.csdn.net/yuanguoz...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86773.html
摘要:基于以上原因,很多管理都是基于實(shí)現(xiàn)的。在經(jīng)過中間件的時(shí)候就會(huì)自動(dòng)完成的有效性驗(yàn)證延期重新頒發(fā)以及對(duì)中數(shù)據(jù)的獲取了。上述代碼只是對(duì)于請(qǐng)求的靜態(tài)處理,整個(gè)用戶管理的另一個(gè)方面則是狀態(tài)的切換用戶的登陸登出以及用戶數(shù)據(jù)的獲取。 基礎(chǔ)概念 Session管理是Web Application的基礎(chǔ)也是一個(gè)老生常談的話題。為了方便后文的展開,更重要的是確認(rèn)自己清晰的理解了整個(gè)Session管理的概...
摘要:使用,可參考執(zhí)行退出命令,只要設(shè)置,即可。下節(jié)主要實(shí)現(xiàn)注冊(cè)時(shí)的郵件驗(yàn)證保存登錄狀態(tài)異常處理,同步異步操作全棧工程技術(shù)新群上一篇公司項(xiàng)目實(shí)踐下一篇待續(xù) 一、前言 ???書接上回,我們搭建了WEB服務(wù)端路由、模板等功能,完成了register 通過ajax與后端的通信,今天主要完成數(shù)據(jù)與mongodb的存取,實(shí)現(xiàn)注冊(cè) / 登錄 / 退出功能 ???DEMO GIT https://gi...
摘要:在路由回調(diào)函數(shù)里面操作的時(shí)候,直接用就可以獲取到客戶端的值。用回調(diào)函數(shù)來寫后期看起來會(huì)很吃力看有沒有重名的看是不是同一郵箱又想重復(fù)注冊(cè)如果是以上兩種情況,就發(fā)送錯(cuò)誤信息。此賬戶名已經(jīng)被注冊(cè)。 1. 開場(chǎng)白 用戶系統(tǒng)是許多網(wǎng)站的基礎(chǔ)。這篇文章主要就是講解如何寫一個(gè)基于Node的單頁應(yīng)用的用戶系統(tǒng),這個(gè)用戶系統(tǒng)的功能包括:注冊(cè),登錄,自動(dòng)登錄,忘記密碼,修改密碼,郵件激活。如果使用在后端使...
摘要:通過瀏覽器的,可以看到此次會(huì)話的請(qǐng)求內(nèi)容和響應(yīng)內(nèi)容。是協(xié)議的一部分。真實(shí)的產(chǎn)品,一般是創(chuàng)建一個(gè)保證唯一的,不易猜測(cè)出來的字符串。因此需要數(shù)據(jù)持久化的多提供者的方案。 使用過幾種Web App開發(fā)語言和框架,都會(huì)接觸到Session的概念。即使是一個(gè)簡(jiǎn)單站點(diǎn)訪問計(jì)數(shù)的功能,也常常使用Session來實(shí)現(xiàn)的。其他常用的領(lǐng)域還有購(gòu)物車,登錄用戶等。但是,對(duì)Session一直是一知半解,知其然...
閱讀 3903·2021-11-22 13:52
閱讀 3757·2019-12-27 12:20
閱讀 2480·2019-08-30 15:55
閱讀 2243·2019-08-30 15:44
閱讀 2334·2019-08-30 13:16
閱讀 657·2019-08-28 18:19
閱讀 1988·2019-08-26 11:58
閱讀 3537·2019-08-26 11:47