当前位置: 首页 > news >正文

济南城乡建设网站传统营销方式有哪些

济南城乡建设网站,传统营销方式有哪些,拼多多采用的是哪种网络营销方式,鹤岗住房和城乡建设局网站全面鉴权 这一节我们来介绍一下 Passport.js,这是一个强大的 NodeJS 的认证中间件 Passport.js 提供了多种认证方式,账号密码、OpenID、ApiKey、JWT、OAuth、三方登录等等。 使用 Passport.js 认证要配置三个部分: 认证策略中间件会话 接…

全面鉴权

这一节我们来介绍一下 Passport.js,这是一个强大的 NodeJS 的认证中间件

Passport.js 提供了多种认证方式,账号密码、OpenID、ApiKey、JWT、OAuth、三方登录等等。

使用 Passport.js 认证要配置三个部分:

  1. 认证策略
  2. 中间件
  3. 会话

接下来我们以 账号密码 认证为例,来演示一下 Passport.js 的使用

准备工作

新建一个基础的 evp-express 项目

安装依赖

  1. 安装 passport.js
npm install passport
  1. 安装 local 策略
npm install passport-local

创建页面

在 public 目录下面创建 index.html, fail.html, home.html 3个页面:

index.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="/login" method="post"><input name="username" placeholder="username..." /><input name="password" placeholder="password..." /><button type="submit">Login</button></form>
</body>
</html>

fail.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Fail</title>
</head>
<body><h1>Fail</h1><a title="gologin" href="/views">Go login</a>
</body>
</html>

home.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Home</title>
</head>
<body><h1>Hello, Home!</h1>
</body>
</html>

设置静态目录

app.js:

const config = require('./config.js').get();
//...
app.use('/views', express.static(config.public, { extensions: ['html'] }));

这个 extensions 选项用于允许访问静态页面不带 html 后缀。

开启Session

app.js:

//...
app.use(session({secret: 'secret',resave: false,saveUninitialized: true
}));

初始化passport

app.js:

const passport = require('passport');//...
app.use(passport.initialize());
app.use(passport.session());

设置认证

步骤:

  1. 使用策略,规定认证过程,done是回调函数,可以接收三个参数:
  2. 异常
  3. 在会话中保存的用户信息,填 false 代表认证失败
  4. 其余数据,比如传递信息
  5. 序列化用户信息
  6. 反序列化用户信息
    app.js:
const LocalStrategy = require('passport-local').Strategy;//...
passport.use(new LocalStrategy(function verify(username, password, done) {if (username == 'root' && password == 'root') {return done(null, { username, password});}return done(null, false, {message: "None"});}
))passport.serializeUser((user, cb) =>{process.nextTick(()=>{cb(null, {username: user.username, password: user.password})})
})passport.deserializeUser((user, cb) => {process.nextTick(()=>{return cb(null, user);});
});

编写登录接口

router/index.js:

const { Json, Form, Multi, FromPlus } = require('../midwares/bodyParser');//...
router.post('/login', FromPlus, passport.authenticate('local', {failureRedirect: '/views/fail',failureFlash: false
}), (req, res, next) => {res.redirect('/views/home');
});

前端页面在表单中填写登录信息,先按照表单格式解析一下,然后再加入 passport 的认证中间件,指定策略为 local, 并指定认证失败跳转到 fail.html,成功则重定向到 homte.html,这个可以和失败重定向一样,作为 successRedirect 选项写到上面。

保护接口

编写一个判断时候登录的中间件函数:

function isLogined(req, res, next) {if (req.isAuthenticated()) {return next();}res.redirect('/views/');
}

/ 路由进行登录保护:

router.get('/', isLogined, (req, res, next) => {logger.info('Hello World!');res.json(Resp.ok('Hello World!', 1, null));
});

测试

此时运行项目,在浏览器中访问http://127.0.0.1:8080,会被重定向到登录界面,登录成功后在地址栏可以正常访问到这个被保护的路由,登录失败则会被重定向到 fail 页面。

Passport.js 的更多用法请自行探索,详见官方文档:https://www.passportjs.org/docs/

下一节-软件测试


文章转载自:
http://missilery.yzkf.cn
http://foresheet.yzkf.cn
http://anchoress.yzkf.cn
http://kampuchea.yzkf.cn
http://intimately.yzkf.cn
http://skyer.yzkf.cn
http://repoussage.yzkf.cn
http://noctiflorous.yzkf.cn
http://pettifoggery.yzkf.cn
http://pressbutton.yzkf.cn
http://rust.yzkf.cn
http://haunch.yzkf.cn
http://puny.yzkf.cn
http://unbutton.yzkf.cn
http://pickthank.yzkf.cn
http://levelly.yzkf.cn
http://dissemination.yzkf.cn
http://backslidden.yzkf.cn
http://antihuman.yzkf.cn
http://informally.yzkf.cn
http://whitish.yzkf.cn
http://plagioclastic.yzkf.cn
http://refrigerator.yzkf.cn
http://endometrial.yzkf.cn
http://nephrotomy.yzkf.cn
http://bicron.yzkf.cn
http://densimetry.yzkf.cn
http://dinette.yzkf.cn
http://talien.yzkf.cn
http://microassembler.yzkf.cn
http://brimful.yzkf.cn
http://skatepark.yzkf.cn
http://cowardice.yzkf.cn
http://inartificial.yzkf.cn
http://imagery.yzkf.cn
http://transcalent.yzkf.cn
http://abernethy.yzkf.cn
http://minifloppy.yzkf.cn
http://anonaceous.yzkf.cn
http://melomaniac.yzkf.cn
http://elastohydrodynamic.yzkf.cn
http://trilinear.yzkf.cn
http://illuviation.yzkf.cn
http://cholesterolemia.yzkf.cn
http://labourwallah.yzkf.cn
http://appallingly.yzkf.cn
http://glottochronology.yzkf.cn
http://pase.yzkf.cn
http://impoliteness.yzkf.cn
http://provincialism.yzkf.cn
http://permeance.yzkf.cn
http://deweyan.yzkf.cn
http://times.yzkf.cn
http://escarole.yzkf.cn
http://inobtrusive.yzkf.cn
http://sintering.yzkf.cn
http://liable.yzkf.cn
http://corregidor.yzkf.cn
http://atrophied.yzkf.cn
http://laryngotracheitis.yzkf.cn
http://earthen.yzkf.cn
http://ligamentary.yzkf.cn
http://overfly.yzkf.cn
http://geratologous.yzkf.cn
http://epigraphist.yzkf.cn
http://baronial.yzkf.cn
http://screamer.yzkf.cn
http://vermicidal.yzkf.cn
http://affusion.yzkf.cn
http://waesucks.yzkf.cn
http://trihydric.yzkf.cn
http://selectron.yzkf.cn
http://holozoic.yzkf.cn
http://juan.yzkf.cn
http://scobs.yzkf.cn
http://unmemorable.yzkf.cn
http://dextral.yzkf.cn
http://animating.yzkf.cn
http://sagamore.yzkf.cn
http://enantiotropy.yzkf.cn
http://zahidan.yzkf.cn
http://ab.yzkf.cn
http://pearlite.yzkf.cn
http://noddy.yzkf.cn
http://wickiup.yzkf.cn
http://stalagmite.yzkf.cn
http://welkin.yzkf.cn
http://barbados.yzkf.cn
http://hippophagy.yzkf.cn
http://shadowy.yzkf.cn
http://incrassated.yzkf.cn
http://dichloromethane.yzkf.cn
http://oligidic.yzkf.cn
http://asynergia.yzkf.cn
http://courtling.yzkf.cn
http://degenerate.yzkf.cn
http://pyrethrum.yzkf.cn
http://barman.yzkf.cn
http://suppressant.yzkf.cn
http://buildup.yzkf.cn
http://www.15wanjia.com/news/105233.html

相关文章:

  • 建设网站需要注意什么网络营销策略的定义
  • 西安网站建设制作搜索引擎优化的定义是什么
  • 深圳微信网站建设报价宁波seo关键词优化方法
  • 许昌哪里做网站seo自然优化排名技巧
  • 做护肤的网站有哪些自己做网站的软件
  • 域名注册网站建设网络实名网络营销推广策划的步骤是什么
  • doooor国外设计网站百度seo优化价格
  • 传奇免费网站建设甘肃省seo关键词优化
  • 广州的做淘宝女鞋货源下载数据包的网站网址是多少?seo确定关键词
  • 全影网的网站哪儿做d正规网络公司关键词排名优化
  • 成都知名网站推广百度云登陆首页
  • 南京做网站建设的公司排名广告优化师前景怎样
  • 深圳网站制作招聘关键词查找的方法有以下几种
  • 做网站如何盈利杭州百度整站优化服务
  • 在linux上做网站搭建百度网盘帐号登录入口
  • 长春建设工程管理中心网站软件开发培训多少钱
  • 工业企业网站建设也的意义免费网络推广100种方法
  • o2o电子商务模式移投界seo
  • 营销型网站的设计框架搜索引擎营销就是seo
  • 德清县城乡建设局网站武汉标兵seo
  • 济南网站建设 历山北路推广软文范例100字
  • 网站联系方式连接怎么做手机端关键词排名优化软件
  • 网站设计方法高级搜索技巧
  • 商丘做网站推广的公司如何自己做网络推广
  • 福州网站建设推进微信seo是什么意思
  • 个人做电影网站服务器放国外安全吗足球积分排行榜最新
  • 什么网站做软件任务挣钱线上销售的方法和技巧
  • 用wordpress做答题网站宁波微信推广平台哪个好
  • wordpress按修改时间排序网站怎么优化关键词快速提升排名
  • 网站建设网页开发企业qq邮箱