授权 WebAPI 表现得像 MVC
Authorization WebAPI behaving like MVC
我正在使用 asp.core 2.1 创建网站 API
我有一个这样的控制器
[Route("api")]
[ApiController]
public class LessonController : ControllerBase
{
[HttpGet]
[Route("lessons/{id}")]
[Authorize(Roles = "Teacher")]
public async Task<IActionResult> GetLesson(int id)
{
//....
}
}
使用 [Authorize]
属性我只得到下面的错误?
The default Identity UI layout requires a partial view '_LoginPartial' usually located at '/Pages/_LoginPartial' or....
因为这是一个 API 我很困惑为什么在错误中它正在寻找部分视图?
您提到的错误消息来自ASP.NET Core Identity's Default UI(具体来说,它在_Layout.cshtml
页面here)。当您在 Startup.ConfigureServices
中使用以下任一选项时,将使用默认值 UI:
services.AddDefaultIdentity<User, Role>()
...
-或-
services.AddIdentity<User, Role>()
.AddDefaultUI()
...
如果您不想使用默认值 UI,则需要避免使用 AddDefaultIdentity
和 AddDefaultUI
,只需使用 AddIdentity<User, Role>
.
我正在使用 asp.core 2.1 创建网站 API 我有一个这样的控制器
[Route("api")]
[ApiController]
public class LessonController : ControllerBase
{
[HttpGet]
[Route("lessons/{id}")]
[Authorize(Roles = "Teacher")]
public async Task<IActionResult> GetLesson(int id)
{
//....
}
}
使用 [Authorize]
属性我只得到下面的错误?
The default Identity UI layout requires a partial view '_LoginPartial' usually located at '/Pages/_LoginPartial' or....
因为这是一个 API 我很困惑为什么在错误中它正在寻找部分视图?
您提到的错误消息来自ASP.NET Core Identity's Default UI(具体来说,它在_Layout.cshtml
页面here)。当您在 Startup.ConfigureServices
中使用以下任一选项时,将使用默认值 UI:
services.AddDefaultIdentity<User, Role>()
...
-或-
services.AddIdentity<User, Role>()
.AddDefaultUI()
...
如果您不想使用默认值 UI,则需要避免使用 AddDefaultIdentity
和 AddDefaultUI
,只需使用 AddIdentity<User, Role>
.