У меня есть страница auth.js, которая решает, к какому маршруту следует обращаться после входа в систему. Я использую ui-router для маршрутизации. Теперь дело в том, что после регистрации пользовательские данные будут захвачены и маршрут соответственно изменится. Если я изменю маршрут с '/dashboard 'to'/'и нажмите enter, затем он сначала показывает страницу входа в систему, затем перенаправляет на панель управления, которую я не хочу. Если я перехожу из'/dashboard 'в'/', тогда он должен автоматически перейти на страницу панели управления, не переходя для входа на страницу. Как мне это достичь?
заранее спасибо
Вы можете решить эту проблему. Когда вы перенаправляетесь на страницу "/". Просто зайдите в раздел разрешения, независимо от того, вошел ли пользователь в систему или нет. Если пользователь вошел в систему, перенаправляйтесь на страницу панели мониторинга.
<!--HTML code-->
<div ng-init="CheckIfLoggedIn()">
<form id="login-form">
..............
</form>
</div>
//in angular JS
$scope.CheckIfLoggedIn = function(){
if (loggedinuser){
$location.path("/dashboard");
}
};
В вашем auth.js, когда пользователь signIn (обратный вызов после успеха пользователя signIn)
//In SignIn success callback.
$state.go('dashboard');//for state
$location.path("/dashboard");//for url dashboard
Надеюсь, поможет
$location.path
когда пользователь разрешит обратный вызов.
то он сначала показывает знак на странице, затем перенаправляет на панель инструментов, которую я не хочу. Если я перехожу из '/dashboard' в '/', тогда он должен автоматически перейти на страницу панели мониторинга, не заходя на страницу входа. Как я могу достичь этого?
Действительно зависит от вашего кода. Я рекомендую иметь login
/login
поддерживаемый бэкэнд (проверьте учетные данные там и отправьте переадресацию на /login
если вы не вошли в систему).