• 【session】


    users.json

    {
        "tobi": {
            "password": "ferret",
            "name": "Tobi Holowaychuk"
        }
    }

    session.js

    var connect = require('connect')
    var users = require('./users')
    
    var server = connect(
        connect.logger('dev'),
        connect.bodyParser(),
        connect.cookieParser(),
        connect.session({secret: 'my app secret'}),
        function(req, res, next) {
            if ('/' == req.url && req.session.logged_in) {
                res.writeHead(200, {'Content-Type': 'text/html'})
                res.end('Welcome back, ' + req.session.name + '<a href="/logout">Logout</a>')
            } else {
                next()
            }
        },
        function(req, res, next) {
            if ('/' == req.url && 'GET' == req.method) {
                res.writeHead(200, {'Content-Type': 'text/html'})
                res.end([
                    '<form action="/login" method="POST">',
                        '<input type="text" name="user">',
                        '<input type="password" name="password">',
                        '<button>Submit</button>',
                    '</form>'
                ].join(''))
            } else {
                next()
            }
        },
        function(req, res, next) {
            if ('/login' == req.url && 'POST' == req.method) {
                res.writeHead(200)
                if (!users[req.body.user] || req.body.password != users[req.body.user].password) {
                    res.end('Bad username/password')
                } else {
                    req.session.logged_in = true
                    req.session.name = users[req.body.user].name
                    res.end('Authenticated!')
                }
            } else {
                next()
            }
        }, 
        function(req, res, next) {
            if ('/logout' == req.url) {
                req.session.logged_in = false
                res.writeHead(200)
                res.end('Logged out')
            } else {
                next()
            }
        }
    )
    
    server.listen(3000)
  • 相关阅读:
    k8s网络策略
    二进制部署Kubernetes
    宿主机的命令在容器中使用
    高可用示例
    企业级高可用Harbor 2.3
    openstack常用shell脚本
    shell实现jumpserver
    我曾七次鄙视自己的灵魂
    queue容器适配器模拟超市结账环节
    stack容器适配器实现计算器(含实现代码)
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3440070.html
Copyright © 2020-2023  润新知