新身份验证和以前的授权过滤器之间有什么区别?我没有看到任何区别.我一直用:[Authorize(Roles = "Admin, User")]
您何时需要使用身份验证过滤器?什么时候使用授权?
有人可以解释一下这个区别吗?样品会很棒.谢谢
您可以在这里找到一篇文章:
\n\n我\xe2\x80\x99ve也在这里创建了类似的帖子:
\n\n虽然我得到的答案很好地澄清了一些事情,但我\xe2\x80\x99m仍然对如何使用它有点困惑,但更多的是预期的行为(正如你\xe2\x80\x99ll看到的,如果你阅读我的邮政)。
\n\n简而言之,新Authentication过滤器在旧Authorization过滤器之前被触发。
此外,据我了解,身份验证是检查用户是否在您的网站上经过身份验证的好地方。换句话说,该用户是否在某个时候向我提供了他的凭据,以便我在数据库中查找它们。如果答案是肯定的,那就太好了……继续。
\n\n如果答案是否定的,则用户未经过身份验证,反过来,我应该返回 http 状态代码401 Unauthorized。
\n\n至于Authorization,我的理解是,用户是隐式进行身份验证的,他可能会也可能不会Authorized访问某个页面或资源。如果是这种情况,那么我应该返回 http 状态代码403 Forbidden。这就是该[Authorize]属性发挥作用的地方。
尽管这是我的理解,但这两个过滤器的行为并不像我想象的那样工作。也许这是我缺乏理解造成的......
\n\n例如:新Authentication过滤器似乎无法识别(或考虑)该[AllowAnonymous]属性。在我看来,它应该如此。
另一方面,旧[Authorize]属性确实识别(并考虑)该[AllowAnonymous]属性。
最后,我不确定这是否会对您有所帮助或让您更加困惑,但我仍在与他们一起玩耍以完全掌握它。
\n| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |