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