javascript-如何跳过或跳中间件? (节点)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何跳过或跳中间件? (节点),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1555字,纯文字阅读大概需要3分钟。
内容图文
![javascript-如何跳过或跳中间件? (节点)](/upload/InfoBanner/zyjiaocheng/683/40506e4097c241da9004805917f623e8.jpg)
给定两个中间件,如何添加首先会受到攻击的东西,然后确定将请求传递给哪个中间件.该请求只能被丢弃或转发到中间件之一,而不能两者都删除.
app.use( function *(next) {
if (isAuthenticated)
*private middleware*
else
*use public middleware*
});
进一步来说:
我有一个主页/应该根据用户是否登录(在此使用基于令牌的身份验证)而具有可变的响应.为简单起见,如果请求用户没有令牌,则public.html是响应,而private.html是带有有效令牌的请求.
现在,只需在一个功能中实现就足够容易了,但是我想将路由器分开,以使代码更易于管理.
因此,我需要以某种方式能够选择请求正确的中间件路由器?不知道该怎么做.
var publicR = new router();
publicR.get('/', function *(next) {
....public.html....
});
var privateR = new router();
privateR.get('/', function *(next) {
....private.html....
});
app.use(function(){
if(isAuthenticated)
...use privateR.routes();
else
...use publicR.routes();
});
解决方法:
首先,在登录或未登录时为给定的URL呈现完全不同的内容是不寻常的,也不是一个好主意.因此,尝试让两个不同的路由器都提供相同的路由,但一个用于登录用户和另一个未登录用户可能不是一个好的设计思想.
更常见的情况是,页面的一部分在登录时可能会有所不同.在那种情况下,您只有一条路线可以创建页面,该页面处理的内容与登录时或登录时的内容略有不同.
如果您确实希望在登录时拥有完全不同的内容和行为,那么您可能应该在登录时重定向到其他URL.在这种情况下,您可以将完全不同的路由器用于“登录” URL.由于给定的URL将报告一致的内容,并且根据用户的状态不会有所不同,因此这对于搜索引擎也将更好地工作.这也使Express中路由器的使用非常容易.您的“已登录”路由器会提供已登录的URL.您可以使用中间件来检查登录的URL,以查看您是否实际登录,如果没有,则将其重定向回未登录的页面,反之亦然.
内容总结
以上是互联网集市为您收集整理的javascript-如何跳过或跳中间件? (节点)全部内容,希望文章能够帮你解决javascript-如何跳过或跳中间件? (节点)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。