asp.net-core - 挑战在 Asp .Net Core 3 中究竟意味着什么?
问题描述
我知道您可以在 asp .net core 中进行身份验证和授权。因此,例如,您可以使用 Authorize 属性拒绝对某些资源的访问。
因此,例如,如果用户尝试访问不可访问的资源,那么他可能会被重定向到登录页面。
但是我看到asp .net core中有一个叫Challenge的概念。我不知道它适合所有这些。据我了解,如果用户未登录,它可以将他重定向到他可以登录的页面。
解决方案
此信息最近添加到文档中:
当未经身份验证的用户请求需要身份验证的端点时,Authorization 会调用身份验证质询。例如,当匿名用户请求受限资源或单击登录链接时,就会发出身份验证质询。授权使用指定的身份验证方案调用质询,如果未指定,则使用默认值。见
HttpContext.ChallengeAsync
。身份验证质询示例包括:
将用户重定向到登录页面的 cookie 身份验证方案。一个 JWT 不记名方案,返回带有
www-authenticate: bearer
标头的 401 结果。质询操作应该让用户知道使用什么身份验证机制来访问所请求的资源。
质询操作应该让用户知道使用什么身份验证机制来访问所请求的资源。
推荐阅读
- java - 如何使用在另一个类中返回的对象
- css - 如何缩放使用真实世界单位的 SVG
- rust - 如何以相同的方式为多种不同类型实现 Display 特征?
- r - 如何在 1x3 数据帧上使用 pivot_longer
- typescript - Mochawesome 记者在使用 Mocha 的 this.retries() api 时输出不正确的 json 结果
- google-app-engine - GAE,我还需要实施负载均衡器吗?
- javascript - javascript 滑块的定位和事件问题
- python - 如何创建 NaN 间隔持续时间的直方图?
- cognos - Cognos Reprompt 按钮自动运行报告
- python - 具有枚举列类型的 Sqlalchemy 模型