使用php进行服务器端身份验证的angular ui路由器

使用php进行服务器端身份验证的angular ui路由器,php,angularjs,login,angular-ui-router,Php,Angularjs,Login,Angular Ui Router,我是AngularUI路由器的新手,我想在我的应用程序中添加一个登录页面,所以这是我的代码 var app = angular.module('myApp', ['ui.router']); app.config(function($stateProvider, $urlRouterProvider) { $stateProvider .state("login", {url:"/login",module: 'public',templateUrl: 'partials/login

我是AngularUI路由器的新手,我想在我的应用程序中添加一个登录页面,所以这是我的代码

var app = angular.module('myApp', ['ui.router']);
app.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state("login", {url:"/login",module: 'public',templateUrl: 'partials/login.html', controller: 'loginCtrl'})
    .state("home", {url:"/home", module: 'private',templateUrl: 'partials/home.html', controller: 'homeCtrl'})
    .state("home.client", { url:"/client", parent: 'home', module: 'private',templateUrl:"pages/client.html", controller:'clientCtrl' })
    .state("home.facture", { url:"/facture", parent: 'home', module: 'private',templateUrl:"pages/facture.html", controller:'factCtrl' })
    .state("home.etat", { url:"/etat", parent: 'home', module: 'private',templateUrl:"pages/etat.html", controller:'etatCtrl' });
  $urlRouterProvider.otherwise("/login");
});

app.run(function($rootScope, $location, loginService){
    var routespermission=['/home'];  //route that require login
    $rootScope.$on('$stateChangeStart', function(){
        if( routespermission.indexOf(location.path()) !=-1)
        {
            var connected=loginService.islogged();
            connected.then(function(msg){
                if(!msg.data) $location.path('/login');
            });
        }
    });
});
这些是我的服务

app.factory('loginService', function($http, $location, sessionService){
    return{
        login:function(data,scope){
            var $promise=$http.post('data/user.php',data); //send data to user.php
            $promise.then(function(msg){
                var uid=msg.data;
                if(uid){
                    sessionService.set('uid',uid);
                    $location.path('/home/etat');
                }          
                else  {
                    $location.path('/login');
                }                  
            });
        },
        logout:function(){
            sessionService.destroy('uid');
            $location.path('/login');
        },
        islogged:function(){
            var $checkSessionServer=$http.post('data/check_session.php');
            return $checkSessionServer;
        }
    }
});
app.factory('sessionService', function($http){
    return{
        set:function(key,value){
            return sessionStorage.setItem(key,value);
        },
        get:function(key){
            return sessionStorage.getItem(key);
        },
        destroy:function(key){
            $http.post('data/destroy_session.php');
            return sessionStorage.removeItem(key);
        }
    };
});
问题是,如果我尝试使用任何用户名和密码登录我的应用程序,它总是会登录…如果我注销,只需按“上一步”按钮即可返回主页:( 你能帮帮我吗?我刚从一周开始使用angularJs

如果可以的话,这些是使用过的php文件

//user.php
$user=json_decode(file_get_contents('php://input'));
if($user->mail=='admin' && $user->pass=='admin') 
    session_start();
    $_SESSION['uid']=uniqid('ang_');
    print $_SESSION['uid'];

//check_session.php
    session_start();
    if( isset($_SESSION['uid']) ) print 'authentified';

//destroy.php
    session_id('uid');
    session_start();
    session_destroy();
    session_commit();