मैं एक लॉग इन एपीआई है जो मैं अपने सेवापृष्ठ ताज़ा के कारण उपयोगकर्ता प्राप्त कोणीय जे एस
function logInToService(callback, errback, login, password, rememberLogin) {
var url = "User/Login";
var authorizationHeader = {'Authorization': "Basic " + login + ":" + password};
httpWrapperService.post(url, {login: login, password: password}, authorizationHeader).then(
function success(loginToken) {
// transform data here
self.currentUser.emailAddress = login;
self.currentUser.password = password;
// store token in a cookie
self.currentUser.token = loginToken;
$rootScope.currentUser = self.currentUser;
if (rememberLogin) {
localStorage.userName=login;
localStorage.password=password;
}
httpWrapperService.setAuthenticationToken(loginToken);
callback(loginToken);
},
function error(errorObject) {
errback(errorObject);
}
);
}
में और मेरे हैडर html में मैं शीर्ष पर उपयोगकर्ता नाम प्रदर्शित कर रहा हूँ यह उपयोग कर रहा हूँ में स्वचालित रूप से लॉग आउट करने जब वह Header.html
<div class="header-user-menu">
<div ng-show="isUserLoggedIn() == false ">
<a href="" ng-click="$state.go('app.sr.login')" class="">{{'HEADER.LOGIN' | translate}}</a>
<!--<a ui-sref="app.sr.login" class="">{{'HEADER.LOGIN' | translate}}</a>-->
</div>
<div ng-show="isUserLoggedIn()" class="userName">{{'HEADER.WELCOME' | translate}} {{currentUser.emailAddress}}</div>
</div>
और जे एस फ़ाइल में लॉग होता है यहाँ है
(function() {
'use strict';
angular
.module('safe-repository')
.controller('AppLayoutCtrl', appLayoutCtrl);
// Implementation of controller
appLayoutCtrl.$inject = ['$rootScope', '$scope'];
function appLayoutCtrl($rootScope, $scope) {
$scope.isUserLoggedIn = isUserLoggedIn;
function isUserLoggedIn() {
if ($rootScope.currentUser
&& $rootScope.currentUser.emailAddress != null
&& $rootScope.currentUser.emailAddress != '') {
return true;
}
return false;
}
}
})();
और यहाँ मैं एक पंजीकरण सेवा है जहाँ मैं logInToService
विधि परिभाषित किया है
function registrationService($rootScope, httpWrapperService, $modal, $state, $cookieStore) {
var self = this;
// expose functions
self.hasUserAccessToLevel = hasUserAccessToLevel;
self.logInToService = logInToService;
self.getCurrentUserToken = getCurrentUserToken;
self.showRegistrationViewForLevel = showRegistrationViewForLevel;
self.currentUser = {
//emailAddress: '',
//password: '',
//token: ''
}
$rootScope.currentUser = null;
self.currentUserToken = null;
function logInToservice (------){----}})();
समस्या यह है कि हर बार जब उपयोगकर्ता प्रेस पृष्ठ ताज़ा F5, उपयोगकर्ता लॉग आउट हो जाता है। भले ही मैं स्थानीय स्टोरेज में डेटा स्टोर करने की कोशिश कर रहा हूं, लेकिन वास्तव में मुझे नियंत्रण का प्रवाह नहीं मिल रहा है।
असल समस्या registrationService पुन: लोड और उसकी वजह से, $ rootScope.currentUser शून्य पर सेट कर रहा है जा रहा है – shreyansh