文档章节

Express+Nodejs 下的登录拦截实现

WolfX
 WolfX
发布于 2016/04/20 09:42
字数 225
阅读 234
收藏 2

原来一直不知道怎么在Express+Nodejs里面添加类似于Struts2的拦截器(因为要使用登录拦截的功能)。 以前一直以为在router这块添加类似一下的转移路由控制权代码的(每个都加很麻烦)

app.get('/show', controllers.checkLogin);//登录验证
app.get('/show', controllers.showList);//实际跳转

又或者是像某些项目里面给每个controller的方法里面加以下这种验证(太繁琐了)

if (!req.session.user) {
        return res.redirect("/login");
    }

最近翻到之前使用session的代码片段,突然有如茅塞顿开啊!!

//session
app.use(function (req, res, next) {
    var err = req.flash('error');
    var success = req.flash('success');
    res.locals({
        user:req.session.user,
        navSide:req.session.navSide,
        error:err.length ? err : null,
        success:success.length ? success : null
    });
    next();
});

这尼玛不就是个拦截器吗~囧~ 稍加改造

//登录拦截器
app.use(function (req, res, next) {
    var url = req.originalUrl;
    if (url != "/login" && !req.session.user) {
        return res.redirect("/login");
    }
    next();
});

经过测试,成功了

本文转载自:http://cnodejs.org/topic/512d8172df9e9fcc58333c73

共有 人打赏支持
WolfX

WolfX

粉丝 52
博文 246
码字总数 31477
作品 0
南京
技术主管
webpack reactjs es6

http://news.chinaunix.net/opensource/2015/0625/3247608.shtml https://github.com/petehunt/webpack-howto reactjs+ express+nodejs https://github.com/mhart/react-server-routing-exam......

bytebear
2015/10/14
156
0
Struts2重新学习之自定义拦截器(判断用户是否是登录状态)

拦截器   一:1:概念:Interceptor拦截器类似于我们学习过的过滤器,是可以再action执行前后执行的代码。是web开发时,常用的技术。比如,权限控制,日志记录。     2:多个拦截器Int...

无信不立
2014/07/17
0
0
拦截器

一 概述 1 Struts2是框架,封装了很多功能,Struts2里面封装的功能都是在拦截器里面 2 Struts2里面封装了很多的功能,有很多拦截器,不是每次这些拦截器都执行,每次执行默认拦截器 3 Struts...

Bbigbug
2017/10/20
0
0
SpringMVC处理器拦截器介绍及应用

常见应用场景 1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。 2、权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面...

楠木楠
2016/12/13
13
0
SpringMVC拦截器(实现登录验证拦截器)

SpringMVC拦截器(实现登录验证拦截器) lenglingx的个人页面2017-11-281 阅读 springmvc登录验证 本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 核心代码 首先是index.jsp,显示链接...

lenglingx的个人页面
2017/11/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部