Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 检查用户在UI路由器上的登录_Authentication_Login_Angular Ui Router - Fatal编程技术网

Authentication 检查用户在UI路由器上的登录

Authentication 检查用户在UI路由器上的登录,authentication,login,angular-ui-router,Authentication,Login,Angular Ui Router,我有一个变量来保存用户登录时的数据 变量:isLoginned 当用户登录时,我将isLoginned设置为'1'并保存到LocalStorage 我想使用isLoginned检查路由器何时更改 仅当用户登录时检查对此路由器的访问。如果未登录,请重定向到页面登录 这是Ui路由器中的示例代码 .state('access.page', { url: '/page', templateUrl: 'app/Components/Page/Page.html', onEnter

我有一个变量来保存用户登录时的数据

变量:isLoginned

当用户登录时,我将isLoginned设置为'1'并保存到LocalStorage

我想使用isLoginned检查路由器何时更改

仅当用户登录时检查对此路由器的访问。如果未登录,请重定向到页面登录

这是Ui路由器中的示例代码

 .state('access.page', {
    url: '/page',
    templateUrl: 'app/Components/Page/Page.html',
    onEnter: function ($storage.isLoginned) {
       if ($storage.isLoginned != '1') {
            $location.path('/access/signin');
       }
    },
    controller: function ($scope) {
       $scope.page.setTitle('Page title');
    }
 })
用户服务

/**
 * Created by tatda_000 on 11/26/2014.
 */
'use strict';
app.factory('signinService', function ($http) {
    return {
        signin: function (user, scope) {
            //console.log('Test function');
            var $promise = $http.post('api/AccountController/Login', user); //post data to server
            $promise.then(function (msg) {
                //scope.msgtxt = msg.data;
                if (msg.data.Message != 'Success') scope.msgtxt = 'Tên tài khoản hoặc mật khẩu không đúng!';
                else scope.msgtxt = 'Success';
                //save user infomation to Local Storage

                scope.$storage.username = msg.data.Data.Username;
                scope.$storage.password = msg.data.Data.Password;
                scope.$storage.userToken = msg.data.Data.UserToken;
                scope.$storage.isLoginned = '1';

            });
        }
    }
});
用户控制器

'use strict';

/* Controllers */
// signin controller
app.controller('SigninController', ['$scope', '$localStorage', 'signinService', function ($scope, $localStorage, signinService) {
    //set page title
    $scope.page.setTitle('Đăng nhập');

    $scope.login = function (user) {

        signinService.signin(user, $scope); //call function login service


    };

    //create first value storage
    $scope.$storage = $localStorage.$default({
        username: "",
        userToken: ''
    });

    $scope.logout = function () {
        delete $scope.$storage.username;
        delete $scope.$storage.userToken;
    };

}]);

关于源LocalStorage、$http和服务单例,在UI路由器中很少有这样做的示例。检查示例谢谢,但我不明白,我必须添加文件[code]用户服务[/code]和[code]用户控制器[/code]。请帮帮我。我是新来的bie@RadimKöhlerth你能做的就是创造一个劫掠者。把它放在你的问题里,我相信你会得到答案的。我强烈建议:用你的例子创建一个plunker。。。