app.controller('loginController',function($scope,$http, $window){
// console.log(1);
$scope.adminLogin = function() {
alert("aaaaaa");
var username=$scope.username;
var password=$scope.password;
if(username=="admin@admin.com" && password=="admin123")
{
window.location = '/PricePredictionUI/#/DASHBOARD';
}
else
{
$scope.message="Error";
$scope.messagecolor="alert alert-danger";
}
//window.location = '/PricePredictionUI/#/DASHBOARD';
};
});
上面是我的登录 Controller 。 我对 AngularJS 还很陌生。 我能够登录并登陆新页面 现在我需要维护登录表单的 session 。 怎么办?
最佳答案
如果我理解正确,即使您关闭选项卡并稍后重新打开它,您也需要持续进行身份验证。
简短回答:- 使用 window.localStorage 。在成功登录尝试时创建一个 token ,将其保存在本地存储中并在每次页面加载时进行检查。
长-短答案:-这不涉及对用户信用进行硬编码。查找无状态身份验证,例如基于 JWT 或 Cookie 的解决方案。这些涉及服务器端 token /cookie 的创建、通过 REST - 服务 header 传递并保留在浏览器的本地存储中。我个人喜欢 JWT,因为它的开销更少。
希望有帮助!
编辑:- 稍微更新一下那段代码。可能有错别字。尝试使用 UI-Router 而不是 Windows 重定向。
app.controller('loginController',['$scope','$http', function($scope,$http){
//Check if localStorage contains authToken
(window.localStorage.getItem('authToken') == 'success')? 'redirect - to - your page ' : 'Go - to - login';
$scope.adminLogin = function() {
if($scope.username=="admin@admin.com" && $scope.password=="admin123"){
window.localStorage.setItem('authToken', 'success');
window.location = '/PricePredictionUI/#/DASHBOARD';
}else{
$scope.message="Error";
$scope.messagecolor="alert alert-danger";
}
};
}]);
关于javascript - 如何维护登录表单的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40709907/