Я пытаюсь такой подход, и VS жалуется с «IAppBuilder не содержит определения для UseStatusCodePages». У тебя есть идея почему? (К вашему сведению, я использую Asp.Net MVC с Framework 4.6.1)
я есть эта конфигурация авторизации JWT в моем Startup.cs:
services.AddAuthentication(opts =>
{
opts.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
opts.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
opts.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(opts =>
{
opts.RequireHttpsMetadata = false;
opts.SaveToken = true;
opts.TokenValidationParameters = new TokenValidationParameters()
{
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("my_secret_key")),
ValidIssuer = "iss",
ValidAudience = "aud",
ValidateIssuerSigningKey = true,
ValidateLifetime = true
};
});
Мой HomeController имеет атрибут [Authorize]. Таким образом, при доступе к Home / Index я получаю ответ 401, и мне представляется пустая страница. Я хочу перенаправить на свою учетную запись / страницу входа в систему, но я не уверен, как это сделать.
Я читал, что это не должно автоматически перенаправлять, потому что это не имеет смысла для вызовов API, если они не авторизованы, а затем вы перенаправляете их, так как правильно я бы перенаправил их на страницу входа в 401.
Помните, что в этом проекте у меня есть и веб-API, и методы Action с атрибутами [Authorize], поэтому мне нужно перенаправлять только тогда, когда это метод действия.