我一直不明白中间件验证,谁来解析一下。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolicer
V2EX    Node.js

我一直不明白中间件验证,谁来解析一下。

  •  
  •   coolicer 2013-10-10 09:12:25 +08:00 3516 次点击
    这是一个创建于 4452 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在研究nodeclub的源码,有一个函数是这样的:

    exports.auth_user = function (req, res, next) {
    ...
    //登录时候会产生一个cookie,这里貌似会在登录完后读取那个cookie。
    }

    然后在app.js里面有一句这样的:

    app.use(require('./controllers/sign').auth_user);

    我比较在意这个方法是什么时候执行的,是不是每次请求都会执行一次?

    本人菜鸟
    7 条回复    1970-01-01 08:00:00 +08:00
    mengzhuo
        1
    mengzhuo  
       2013-10-10 09:20:00 +08:00   1
    虽然没写过nodejs,但是和Python各个框架的中间件概念应该是相同的
    https://docs.djangoproject.com/en/1.2/_images/middleware.png
    一图胜千言
    coolicer
        2
    coolicer  
    OP
       2013-10-10 09:36:01 +08:00
    @mengzhuo 有点晕~ :)
    ijse
        3
    ijse  
       2013-10-10 09:44:28 +08:00
    你在auth_user这个middleware中打下log试下, 是每次请求都会执行的, 一般把它放在所有routes之前注册。
    ijse
        4
    ijse  
       2013-10-10 09:45:28 +08:00
    PS, express的route设计很赞的,AOP思想
    G2bN4dbX9J3ncp0r
        5
    G2bN4dbX9J3ncp0r  
       2013-10-10 10:43:41 +08:00
    每次请求都会执行一次
    roricon
        6
    roricon  
       2013-10-10 11:05:25 +08:00
    中间件嘛。当然是作为中间人存在的。存在的目的就是不判断业务逻辑,而是进行“处理-转发”的动作。如果在中间件里面再判断是否要每次都执行某个动作,那就失去中间件的意义了嘛……
    coolicer
        7
    coolicer  
    OP
       2013-10-10 11:25:06 +08:00
    谢谢你们的回答
    @ijse
    @lidashuang
    @roricon
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2758 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 381ms UTC 14:48 PVG 22:48 LAX 06:48 JFK 09:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86