우리 환경에는 로그인과 메인 포털을 처리하는 두 가지 응용 프로그램이 있습니다. 누구든지 포털 URL에 액세스하려고 시도하고 로그인하지 않으면 "다르게"기능이이 URL을 저장하고 로그인으로 리디렉션합니다. 그것은 다시 기본 기능마다 가을 있도록로그인으로 리디렉션 할 때 각도 ui 경로의 루프 문제
$urlRouterProvider.otherwise(function($injector, $location){
console.log($location.absUrl());
//save attempted url
//redirect to login,
var loginUrl=$location.absUrl() + '#/login';
var $window=$injector.get('$window');
console.log(loginUrl);
$window.location.href=loginUrl;
});
파이어 폭스에있는이 잘 작동하지만, 크롬에서 '로그인'상태는 루프의 원인이 해결되지 않습니다.
당신은 누군가가 해결책 좀 도와 수
http://plnkr.co/edit/l51Wqn0EB1ySDjbScSvY에서이 문제를 볼 수 있습니까?
EDIT :이 응용 프로그램은/portal에로드되고/#/login으로 리디렉션되어야하기 때문에 $ window.location.href를 사용하여 리디렉션을 수행해야합니다. 이 $window.location
를 사용 할 필요가있다, 그러나 당신은 현재 위치를 저장 한 다음 상태 중 하나에 직접하려고하는 경우 $state
을 주입하고 $state.go(...)
$urlRouterProvider.otherwise(function($injector, $location){
console.log($location.absUrl());
//save attempted url
//redirect to login,
var $state=$injector.get('$state');
$state.go('login');
});
업데이트 사용할 수 있는지
고마워요!. 리다이렉트를 위해 $ window.location을 사용해서는 안되며, 다른 답변은이 문제에 대한 좋은 습관이지만, 제 경우에는이 대답이 효과가 있습니다. –
그래, 최선의 방법으로 다른 대답을 남겨 뒀어. – TheSharpieOne