【发布时间】:2015-09-13 07:04:09
【问题描述】:
我正在通过创建一个小应用程序来学习 AngularJS。
我在成功登录时将用户信息存储在 sessionStorage 中。
登录控制器.JS
app.controller("LoginCntrl", function ($scope, $location, angularService) {
$scope.Login = function () {
var UserName = $scope.UserName;
var Password = $scope.Password;
var getData = angularService.LoginInformation(UserName,Password);
getData.then(function (msg) {
if (msg.data == '') {
alert('no data');
} else {
sessionStorage.UserName = msg.dataUserName;
$location.path('/members');
}
}, function (error) {
alert('error in Login');
});
};
});
成功登录后,我将用户重定向到“/memberList”并在 memberlistCntrl 控制器我正在检查 sessionStorage 是否为空。如果它是空的,那么我假设用户试图在没有登录的情况下访问该站点,并且我将用户发送回登录屏幕
memberlistCntrl 中的代码
app.controller("memberlistCntrl", function ($scope, $location, allMembers) {
if (sessionStorage.length == 0)
{
$location.path('/login');
return;
}
$scope.MembersList = allMembers.data;
$scope.createmember = function (path) {
$location.path(path);
};
});
我的问题,
- 检查用户是否登录是否正确?
- sessionStorage 是否是在“会话”中存储数据的正确对象,以便我可以通过我的所有页面或站点访问它?
- 有没有更好的方法来完成同样的任务?
【问题讨论】:
标签: angularjs