我是.Net Core的新手,从未遇到授权。我在身份验证处理方面遇到了1个挑战。
我有一个带有Cookie身份验证的.net核心应用。该应用程序执行简单的库存操作。
在startup.cs中,我对授权有这样的定义
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options =>
{
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});}
还使用UserManager<TUser>
类登录用户等。
这里是HomeController
的定义:
[Authorize]
public class HomeController : Controller
{
// Some staff here
}
现在,我有1个ApiController
应该使用基本授权:
[ApiController]
[Route("InventoryApi")]
public class ApiController: Controller
{
// Add some inventory staff
}
如果我使用[Authorize]
属性请求,则不会由api控制器处理。
例如,我是否需要创建自己的属性来处理基本身份验证,还是可以在Startup.cs中处理此类身份验证而无需取消主要授权?