Как использовать другой контроллер для моей домашней страницы, если пользователь аутентифицирован? - PullRequest
0 голосов
/ 09 мая 2020

Основываясь на документации и других сообщениях в блоге, кажется, что начиная с ASP. NET Core 3.0 вам необходимо реализовать DynamicRouteValueTransformer для динамического изменения маршрута для заданного пути. Для меня это означало бы, что мне нужно создать HomePageTransformer вроде этого:

    public class HomeRouteTransformer : DynamicRouteValueTransformer
    {
        public override async ValueTask<RouteValueDictionary> TransformAsync(
            HttpContext httpContext,
            RouteValueDictionary values)
        {
            if (httpContext.User.Identity.IsAuthenticated)
            {
                // return RouteValueDictionary for authenticated users.
            }
            else
            {
                // return RouteValueDictionary for anonymous users.
            }
        }
    }

, а затем зарегистрировать это в конфигурации запуска:

endpoint.MapDynamicControllerRoute<HomeRouteTransformer>("/");

Проблема в том, что на этом точка Пользователь пуст (т.е. не имеет никаких заявлений и не аутентифицирован), даже если он должен быть заполнен данными, потому что пользователь должен быть аутентифицирован в запросе. Кажется, что реализация DynamicRouteValueTransformer здесь - неправильный подход. Есть предложения?

...