为什么flask security重定向到未经授权的视图

为什么flask security重定向到未经授权的视图,flask,flask-login,flask-security,Flask,Flask Login,Flask Security,我要试一试烧瓶的安全性…它有很多好东西。我遇到了一些奇怪的行为,虽然我真的不明白。从我看的代码来看,代码的工作方式看起来非常有意,但我无法理解其基本原理 如果您使用@auth_token_required保护视图,并且不满足条件,则返回401。这很有道理 但是,如果您使用@roles\u required保护视图,但不满足条件,则服务器会将302重定向到未经授权的视图 这对我来说毫无意义,为什么他们两人的行为不一致。事实上,在这两种情况下,我都希望并期待401 谁能解释一下原因,以及我为什么想要

我要试一试烧瓶的安全性…它有很多好东西。我遇到了一些奇怪的行为,虽然我真的不明白。从我看的代码来看,代码的工作方式看起来非常有意,但我无法理解其基本原理

如果您使用@auth_token_required保护视图,并且不满足条件,则返回401。这很有道理

但是,如果您使用@roles\u required保护视图,但不满足条件,则服务器会将302重定向到未经授权的视图

这对我来说毫无意义,为什么他们两人的行为不一致。事实上,在这两种情况下,我都希望并期待401

谁能解释一下原因,以及我为什么想要这个?或者有人能解释一下定制@roles\u所需行为的最佳方式吗


谢谢

我认为这与不同级别的未经授权的响应有关。第一个是401错误,第二个是403错误

这是两者之间的区别:

总之,401未经授权的响应应用于丢失或丢失 身份验证错误,应使用403禁止响应 之后,当用户经过身份验证但未被授权 在给定资源上执行请求的操作


来源:

但当用户未经授权时,他们会得到302而不是403。