로그 아웃 페이지에 문제가 있습니다. 로그 아웃 옵션이 페이지에서 클릭되었을 때 로그인 페이지가로드되어야하고 사용자가 브라우저에서 이전 페이지 화살표를 클릭하려고해도 로그인 페이지 만 표시해야합니다. 나는 해결책을주지 않은 $window.location.reload();
과 sessionStorage.clear();
을 사용해 보았습니다.로그 아웃 페이지 AngularJS
지금 로그인 페이지를 표시하는 로그 아웃 페이지가 있지만, 다시 페이지를 클릭하면 이전에 로그인 한 사용자의 모든 세부 정보를 볼 수 있습니다.
index.html을 :
<body ng-app="app">
<div class=" ">
<div ui-view></div>
</div>
</body>
login.html :
<form ng-submit=submit()>
<input type="text" name="username" placeholder="Username" ng-model="person.firstName" required />
<input type="password" name="pswd" placeholder="Password" ng-model="person.pswd" required />
<div class="submit">
<input type="submit" value="LOGIN">
</div>
</form>
page.html :
<ul>
<li><a ui-sref="logout">Logout</a></li>
</ul>
app.js :
var app = angular.module('app', ['ui.bootstrap', 'LocalStorageModule']);
app.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('page', {
url: '/page/:id',
templateUrl: 'page.html'
})
.state('login', {
url: '/login',
templateUrl: 'login.html',
controller: 'LoginCtrl'
})
.state('tab', {
url: '/tab/:id',
templateUrl: 'views/tab.html'
})
.state('logout', {
url: '/logout',
templateUrl: 'logout.html',
controller: 'LogoutCtrl'
});
});
app.controller('LogoutCtrl', function ($scope, $http, $location, $state) {
sessionStorage.clear();
$location.path('/login');
//this is loading login page, but if back arrow is clicked previous logged in details are present//
});
app.controller('LoginCtrl', function ($scope, $http, $location, $state) {
$scope.submit = function() {
$http.get("url" + $scope.Name + "&Password=" + $scope.pswd)
.success(function (data, status, headers, config) {
debugger
$scope.tableData = data;
console.log(data)
if (data == 'Exception') {
window.alert('You have entered wrong username or password');
}
else $state.go('tab', { id: data.Table[0].UserId });
})
}
});
아래는 코드입니다
간단히 요약하면 : 로그 아웃 후 로그인 페이지가 표시되어야하고 사용자가 뒤 페이지로 이동하려고하면 로그인 페이지 만 표시되어야합니다.
누구든지 도움을 주시면 감사하겠습니다.
에서
를 지우려면? 어떻게 userDetails를 저장하고 있습니까? 쿠키 또는 로컬/세션 저장소에 있습니까? 로그 아웃시 이러한 세부 사항을 어떻게 지우시겠습니까? 경로 (또는 귀하의 경우, 주) 변경 사항을 확인 하시겠습니까? –
@MridulKashyap : page.html은 사용자 기반이며 다른 사용자에 따라 다릅니다. page.html을 표시하기 위해 로그인 세부 정보를 사용하고 사용자 세부 정보를 저장하는 데 아무 것도 사용하지 않았습니다. – Deborah