Authentication 检查用户在UI路由器上的登录
我有一个变量来保存用户登录时的数据 变量:isLoginned 当用户登录时,我将isLoginned设置为'1'并保存到LocalStorage 我想使用isLoginned检查路由器何时更改 仅当用户登录时检查对此路由器的访问。如果未登录,请重定向到页面登录 这是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
.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。。。