Express 401 重定向不会自动发生

djt*_*oms 2 redirect node.js express

遇到一种情况,当他们无权访问页面时,我使用 401 重定向用户。我在我的一条路线中有这个:

 res.redirect(401, '/login');
Run Code Online (Sandbox Code Playgroud)

看起来很简单,但应用程序徘徊并且不会将用户重定向到/login. 它只是位于与此类似的页面上:

 Unauthorized. Redirecting to /login
Run Code Online (Sandbox Code Playgroud)

标题看起来也不错:

 res.redirect(401, '/login');
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我省略状态,重定向正常发生:

 res.redirect('/login'); // doesn't hang on page, redirect occurs immediately
Run Code Online (Sandbox Code Playgroud)

我的印象是重定向是自动的,但也许不是?任何见解?

Ry-*_*Ry- 5

401 不是重定向状态。只需使用常规 (303) 重定向 -如果您不发送WWW-Authenticate标头则 401 无效