【发布时间】:2015-05-07 10:45:46
【问题描述】:
我正在使用具有基本身份验证的网络服务,即下面的代码显示了我如何调用网络服务
var url='http:url.com/;
$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode(Username + ':' + password);
$http({method: 'GET', url: url}).
success(function(data) {
if(data=='' || data==null || data=='undefined'){
var alertPopup = $ionicPopup.alert({
title: 'Info!',
template: 'Invalid Password, or no user found with this Email Address'
});
alertPopup.then(function(res) {
console.log('Invalid Password, or no user found with this Email Address ');
});
return false;
}
else{
var favoriteCookie = $cookies['JSESSIONID'];
window.localStorage['data'] = JSON.stringify(data);
//console.log("LOGIvar: " + data+ " - PW: " + password);
console.log(data);
$state.go('app.tasklists');
return false;
}
}).
我得到了正确的响应并且一切正常。 但是当我注销应用程序时,我正在使用以下代码
$cookieStore.remove('JSESSIONID');
$cookieStore.remove('JSESSIONIDSSO');
$http.defaults.headers.common['Authorization']='undefind';
$scope.modal.show();
$state.go('login',{}, {reload: true});
真正的问题是,当我注销然后尝试使用错误密码登录时,它会重新登录网络服务,重新调整以前的用户详细信息。我该如何解决这个问题?提前谢谢?
【问题讨论】:
-
您确定这是一个 cookie 主题,因为您将所有数据都存储在 localStorage 中?
-
离题:你应该重新考虑你的 if 语句:
if(data=='' || data==null || data=='undefined'){... -
谢谢,在浏览器中尝试删除 cookie 和标头时,它会要求重新身份验证,并且我在我的 ios 本机应用程序中清除,然后它工作正常。第二个肯定我现在会改变它没有状态返回这就是我这样放的原因
标签: angularjs http-headers ionic-framework session-cookies httpcookie