У меня в приложении две идентификационные данные, одна для панели администратора (asp. net core mvc), и она использует аутентификацию по умолчанию по классу идентификации, и у меня есть другая идентификационная информация. Net Базовое веб-API для мобильных сервисов и я использую в этом разделе JWT Auth. Как я могу использовать атрибут authroize от jwt для контроллеров web api, но не для всех контроллеров, другой контроллер должен использовать конфигурацию по умолчанию. У меня есть эта конфигурация в моем классе запуска:
var appSettingsSection = configuration.GetSection("AppSettings");
services.Configure<AppSettings>(appSettingsSection);
// configure jwt authentication
var appSettings = appSettingsSection.Get<AppSettings>();
var key = Encoding.ASCII.GetBytes(appSettings.Secret);
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false,
};
});
и для моего контроллера API:
[HttpGet("getUsers")]
[Authorize]
public IActionResult GetUsers()
{..}