快速检测请求是不是来自子域?
Posted
技术标签:
【中文标题】快速检测请求是不是来自子域?【英文标题】:Express detect if request came from a subdomain?快速检测请求是否来自子域? 【发布时间】:2015-04-30 16:53:02 【问题描述】:我正在使用 npm 子域,为了保持路由干净,我想做类似的事情。
router.get('/login_success',function(req,res)
if(req.subdomain)
res.redirect('/');
else
res.sendStatus(200);
);
在上面,如果用户通过子域登录应用程序,我会重定向到呈现配置文件的子域根目录。
如果用户通过非子域路由登录,它使用 ajax 渲染视图,所以我需要发送一个 200 状态说明用户有效。
我认为这比每个都有两个单独的回调路由要干净得多。
所以我的问题是,有没有办法检测 req 是来自子域还是常规域。
我知道有req.headers.origin
,但我想知道是否有更相关的方法,所以在本地和生产之间来回切换时我不必更改它。
【问题讨论】:
【参考方案1】:使用req.subdomains
,这将为您提供网址中使用的子域列表。 Here's 我从那里得到信息的。
【讨论】:
哇,我已经接近了,我尝试req.subdomain
只是为了测试它,但一无所获。我还检查了req
对象,但找不到任何东西。但它奏效了,了不起的人!
没问题,有更多问题请参考文档expressjs.com/4x/api.html以上是关于快速检测请求是不是来自子域?的主要内容,如果未能解决你的问题,请参考以下文章