Итак, если пользователь добавил в закладки URL-адрес после домашней страницы и пытается его использовать, мне нужно перенаправить его на домашнюю страницу. Это связано с тем, что рекапча находится на домашней странице, поэтому пользователю нужно начать с нее.
Я думаю, что единственный способ сделать это - сохранить в сеансе, который пользователь выполнил рекапчу, а затем проверить на каждой странице, чтобы убедиться, что это было сделано. Этот сеанс необходимо очищать каждый раз, когда пользователь закрывает веб-страницу. Но я изо всех сил пытаюсь это сделать ...
Для этого приложения нет входа в систему. Я ищу и пробовал это, пытаясь обойти изменения в сеансах ядра 2+:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddSession(); // added to enable session
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
Но когда я пытаюсь запустить это: просто ничего не сохраняется
HttpContext.Session.SetString("ClickedRecaptcha", "Yes");
Является ли передача и сброс TempData после каждого прохода единственным способом сделать это, или я что-то упускаю? Это ASP. NET Core 2.2