我的应用程序使用 Koa.js,带有 koa-passport因为它的身份验证逻辑。我设置的方式是,将中间件(passport)插入到公共(public)内容(js、css、img 等)之间,或者更准确地说是 static 之间。中间件和私有(private) Controller (使用 trie-router )。然后,如果未经身份验证的用户尝试访问路由器,则请求将被简单地重定向到登录 URL。
现在,我遇到的问题是,当公共(public) Assets 文件夹中缺少某些图像时,我会访问身份验证中间件,并再次重定向到登录网址。这是有问题的,因为我在日志中收到多个 302
重定向,我想阻止这种情况发生。
是否有办法安全地知道请求将与 trie-router 内的路由匹配作为重定向的先决条件,否则返回 404
?
最佳答案
可以贴一下你的配置代码吗?
路由仍然在路径上匹配,因此如果您仅在这些路径上安装身份验证中间件,那么它应该按预期工作。例如:
app.use('/private', passport.authenticate());
关于javascript - 在 Koa.js 中仅重定向未经身份验证的用户以查找丢失的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711004/