首页 > 解决方案 > 挑战在 Asp .Net Core 3 中究竟意味着什么?

问题描述

我知道您可以在 asp .net core 中进行身份验证和授权。因此,例如,您可以使用 Authorize 属性拒绝对某些资源的访问。

因此,例如,如果用户尝试访问不可访问的资源,那么他可能会被重定向到登录页面。

但是我看到asp .net core中有一个叫Challenge的概念。我不知道它适合所有这些。据我了解,如果用户未登录,它可以将他重定向到他可以登录的页面。

标签: asp.net-core.net-core

解决方案


此信息最近添加到文档中:

当未经身份验证的用户请求需要身份验证的端点时,Authorization 会调用身份验证质询。例如,当匿名用户请求受限资源或单击登录链接时,就会发出身份验证质询。授权使用指定的身份验证方案调用质询,如果未指定,则使用默认值。见HttpContext.ChallengeAsync。身份验证质询示例包括:

  • 将用户重定向到登录页面的 cookie 身份验证方案。一个 JWT 不记名方案,返回带有www-authenticate: bearer标头的 401 结果。

  • 质询操作应该让用户知道使用什么身份验证机制来访问所请求的资源。

质询操作应该让用户知道使用什么身份验证机制来访问所请求的资源。


推荐阅读