簡體   English   中英

使用angular.js管理用戶登錄中的會話和cookie

[英]Manage session and cookies in user login using angular.js

我有一個登錄應用程序,在這里我需要使用angular.js使用會話和cookie。我在下面解釋我的代碼。

loginController.js:

var loginAdmin=angular.module('Channabasavashwara');
loginAdmin.controller('loginController',function($scope,$http,$location){
    $scope.user_name = ''; 
    $scope.user_pass = '';
    $scope.user_login=function(){
    if($scope.user_name==''){
        alert('user name filed should not keep blank');
    }else if($scope.user_pass==''){
        alert('password filed should not keep blank');
    }else{
        var userData={'user_name':$scope.user_name,'user_pass':$scope.user_pass};
        console.log('user',userData);
        $http({
            method: 'POST',
            url: "php/Login/login.php",
            data: userData,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        }).then(function successCallback(response){
            console.log('response',response);
            alert(response.data['msg']);
            $location.path('dashboard');
        },function errorCallback(response) {
            alert(response.data['msg']);
        });
    }
    }
});

這里我的要求是用戶成功登錄時會話將存儲,並且在注銷時它將移動。類似地,cookie將存儲一些到期時間( lets say 10 min ),在該時間到期后它將自動注銷並發出一個警報留言。請幫助我。

使用angularjs作為cookie所需的模塊,可以下載並添加到ngCookie項目中,並在此處帶有示例,但是您也可以使用基本的javascript獲取和設置cookie。

下面是setCookie函數,該函數獲取cookie namecookie value和cookie過期的天數。 您可以在用戶登錄時設置cookie ,並在注銷時刪除

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

angularjs cookie的示例

 angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
  // Retrieving a cookie
  var favoriteCookie = $cookies.get('myFavorite');
  // Setting a cookie
  $cookies.put('myFavorite', 'oatmeal');
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM