cómo evitar mostrar la página de inicio de sesión después de que el usuario haya iniciado sesión y presione el botón Atrás del navegador sin usar el marco iónico

Soy nuevo en la plataforma anglularjs. Estoy creando unlog-in application. Me enfrento a un problema en el que todas las cosas van bien, pero me quedé atascado para administrar que si el usuario ya está conectado e intenta abrir la misma URL en una pestaña diferente, redirige al usuario directamente adashbord page(dashboard.html), pero cuando presionobrowser back button, en lugar de ir a la página anterior, se abrelogin page(login_admin.html). El escenario es el siguiente:

localhost: 8080 -> se abre -> login_admin.html (logrado).

ingresando credencial y al enviar -> abre -> dashboard.html (logrado).

al ingresar la misma url (localhost: 8080) en una pestaña diferente (supongamos que se abrió previamente facebook.com) ---> abre -> dashbord.html (logrado).

al presionar el botón de retroceso del navegador, en lugar de irfacebook.com, abre login_admin.html (sin resolver). sugiera alguna solución por favor.

mi código js es el siguiente:

var app=angular.module('myApp', ['ngRoute','ngCookies']);
console.log("in appnew.js")

app.config(function($routeProvider,$locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider
    .when('/',{
        templateUrl:  'login_admin.html',
        controller: 'userController'


    })
    .when('/dashboard',{
        templateUrl: 'dashboard.html',
        controller: 'userController',
        authenticated: true


    })
    .when('/logout',{
        templateUrl: 'logout_admin.html',
         controller: 'userController'


    })
    .otherwise({
       redirectTo: "/"
    });
});

app.controller('userController',function($scope,$location,userModel){

    angular.extend($scope,{
      login: function(adminfrm){
        var data={
        jeeb_no: $scope.admin.name,
        password: $scope.admin.password
    };


      userModel.login(data).then(function(){
        $location.path('/dashboard');
      });
      },
      logout: function(){
        userModel.doUserLogout();
        $location.path('/');
      }
    });


});

app.run(["$rootScope",'$location','userModel', function($rootScope,$location,userModel,$window){
    $rootScope.$on('$routeChangeSuccess', function(event, next, current){
        console.log("event: %j",event);
        console.log("next: %j",next);
        console.log('current: %j',current);
      if (next.$route.authenticated) {
          console.log("next.$route.authenticated"+next.$route.authenticated);
          console.log('userModel.getAuthStatus app.run if 1'+userModel.getAuthStatus());


        if (!userModel.getAuthStatus()) {
            console.log("getAuthStatus"+userModel.getAuthStatus);
            console.log('userModel.getAuthStatus app.run if 1(1)'+userModel.getAuthStatus());
            $location.path('/');
        }
      }

      if (next.$route.originalPath =='/') {
        console.log("next.$route.originalPath  "+next.$route.originalPath);
        if (userModel.getAuthStatus()) {
            console.log("current "+current);
            console.log("next "+next);
            next.$route.originalPath = '/dashboard'
            $location.path(next.$route.originalPath);

        }
    }
});
}]);



app.factory('userModel', function($http,$cookies,$location){
   var userModel={};
   userModel.login= function(loginfrm){
    data={
      jeeb_no: loginfrm.jeeb_no,
      //password: loginfrm.jeeb_no
    };
     $cookies.put('auth',data);
    console.log("loginfrm"+loginfrm);
    return $http.post("http://1/admin_login", data).
    success(function(response){

       /*console.log('$scope.dynamic1: %j', $scope);*/
       console.log("response success: %j",response)

    }).
    error(function(response){
        console.log("response error:",response);
    });
   };
    userModel.getAuthStatus = function(){
        var status = $cookies.get('auth');
        console.log('status: %j', status);
        if(status){
            return true;
        }
        else{
            return false;
        }
    };
    console.log('userModel.getAuthStatus'+userModel.getAuthStatus());
    userModel.doUserLogout = function(){
        $cookies.remove('auth');
    }
    console.log("userModel: %j",userModel);
    return userModel;
})

Respuestas a la pregunta(0)

Su respuesta a la pregunta