Сервер Blazor — Перенаправление на вход в анонимный компонент — Извините, по этому адресу ничего нет

#authentication #redirect #blazor-server-side

Вопрос:

Это странно, у меня есть pge для регистрации пользователя после того, как он будет приглашен в приложение.

В конце процесса регистрации я хотел войти в него программно, но из-за его серверного компонента Blazor он говорит, что я не могу изменить заголовок бла-бла … поэтому я попытался перенаправить его на вход вместо этого, как это:

 private void OnReadyClick()  {   NavigationManager.NavigateTo("/Identity/Account/Login");   }   

Тоже пробовал так:

 private void OnReadyClick()  {   NavigationManager.NavigateTo("/Account/Login");   }   

И просто отправьте его в индекс, и пусть приложение перенаправит его, когда увидит, что он не аутентифицирован:

 private void OnReadyClick()  {   NavigationManager.NavigateTo("/");   }   

Также попытался в компонент добавить это:

 if(redirect) {  lt;RedirectToLogin/gt; }  

Все вышеперечисленные опции заставляют браузер возвращаться:

Извините, по этому адресу ничего нет

Но если я обновлю страницу, она перейдет на страницу входа…

Почему он возвращается при перенаправлении «Извините, по этому адресу ничего нет», а при обновлении работает?

С уважением

Ответ №1:

Ну, через некоторое время я все еще не понимаю, почему браузер дал мне такой ответ, но я решил проблему, используя анкорную ссылку, как показано ниже:

 lt;a class="custom-btn rounded-btn main-btn" href="Identity/Account/Login"gt;  @GenericConst.Ready  lt;img src="assets/icons/arrow-right-ic.svg" /gt; lt;/agt;  

Все еще хотелось бы знать причину сообщения «Извините, по этому адресу ничего нет», но если кто-то окажется в такой же ситуации, просто следуйте этому решению.