私はroutechangestartの代わりに$ stateChangeStartを使用しています。問題は私が直面しているのは、ログイン後に私がページをリフレッシュするときにホームページにリダイレクトされるときです。ログイン後、現在のページに残りません
$rootScope.$on(‘$stateChangeStart’, function (event,next, toState, toParams,fromState, fromParams, options) {
if(next.name === “product.login” && $rootScope.authenticated) {
event.preventDefault();
} else if (next.name && next.data.requireLogin && !$rootScope.authenticated) {
event.preventDefault();
$rootScope.$broadcast(“event:auth-loginRequired”, {});
}
else if (next.name && !AuthSharedService.isAuthorized(next.data.requiredRole)) {
event.preventDefault();
$rootScope.$broadcast(“event:auth-forbidden”, {});
}
}
);
$rootScope.$on(‘event:auth-loginConfirmed’, function (next,tostate,toparams, data,event)
{
console.log(‘login confirmed start for ‘ + tostate);
$rootScope.loadingAccount = false;
var nextLocation = ($rootScope.$state.current.name? $rootScope.$state.current.name : “frontProduct.productgrid”);
Session.create(tostate);
$rootScope.account = Session;
$rootScope.authenticated = true;
$state.go(nextLocation);
});
私はちょうど現在のページに滞在したいと思います。
あなたの返信mayurのおかげでありがとう、しかし、これは私のアプリケーションのユーザーが認証を必要としない任意のページに行くことができますように私を助けていない。 – prabhat
あなたはなぜユーザーが認証されているかどうかチェックしていますか? –
私の問題は、ログイン後にユーザがログイン前にリダイレクトされていることです。私は現在のページでユーザーを保持することができません。ユーザーが認証が必要なページに移動したい場合、ログインページが自動的にポップアップします。私は既にこの条件を使用していました。 – prabhat