Koa实现一个简易登录

const Koa = require('koa')
const Router = require('koa-router')
const render = require('koa-art-template')
const static = require('koa-static')
const bodyParser = require('koa-bodyparser')
const session = require('koa-session')
const path = require('path')
let app = new Koa()

// 通过任意字符串为基准进行加密算法的字符串
app.keys = ['some secret hurr']
const CONFIG = {
  key: 'koa:sess',
  maxAge: 86400000,
  autoCommit: true,
  overwrite: true,
  httpOnly: true,
  signed: true,
  rolling: false,
  renew: false
};

render(app, {
  root: path.join(__dirname, 'view'),
  extname: '.html',
  debug: process.env.NODE_ENV !== 'production'
})

let router = new Router()
router.get('/', async ctx => {
  ctx.render('index')
}).post('/login', async ctx => {
    let username = ctx.request.body.username
    let password = ctx.request.body.password
    if (username !== 'abc' || password !== '123') {
      ctx.throw(400, '用户名或密码错误')
    } else {
      ctx.session.user = {username}
      ctx.body = '登录成功:' + ctx.session.user.username
    }

})

app.use(static(path.resolve('./public')))
app.use(session(CONFIG, app))

app.use(bodyParser())
app.use(router.routes())
  .use(router.allowedMethods())

app.on('error', (err,ctx) => {
  console.log(err)
  ctx.body = '有错了' + err
})

app.listen(8888)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
这是首页
<form action="/login" method="post">
    <p>用户名:<input type="text" name="username"></p>
    <p>密码:<input type="password" name="password"></p>
    <p>
        <input type="submit" value="登录">
    </p>
</form>
<script src="/js/index.js"></script>
</body>
</html>

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值