[英]Authorization WebAPI behaving like MVC
我正在使用asp.core 2.1创建Web 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核心身份的默认UI(具体而言,它在_Layout.cshtml
页面这里 )。 当您在Startup.ConfigureServices
使用以下任一选项时,将使用默认UI:
services.AddDefaultIdentity<User, Role>()
...
-要么-
services.AddIdentity<User, Role>()
.AddDefaultUI()
...
如果您不想使用默认UI,则需要避免使用AddDefaultIdentity
和AddDefaultUI
而只需使用AddIdentity<User, Role>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.