2016-09-27 4 views
0

"login.html"및 "Main.html"두 페이지가 내 앱에 있습니다. "login.html"페이지에서 유효성 검사가 성공적으로 완료되면 "Main.html"로 이동합니다.Angular JS 내비게이션

여기에서 나는 문제에 직면하고있다.

일단 "main.html"페이지가 로그인 페이지에서 시작되면 브라우저에서 "뒤로"버튼을 클릭하면 "login.html"페이지로 다시 이동합니다. 여기에서 내 앱이 적절한 로그 아웃없이 로그인 페이지로 돌아 가기를 원하지 않습니다. Angular JS에서이 문제를 해결할 수있는 안전한 방법을 제안하십시오.

미리 감사드립니다.

+0

사용'세션이나 localstorage'을. 사용자가 성공적으로 로그인하면 사용자의 ID 또는 세부 정보를 저장합니다. 탐색하는 동안 localstorage가 있는지 확인하십시오. 그렇다면 로그인 페이지로 리디렉션하지 마십시오. – Pradeepb

+0

사용자는 개발자 도구를 통해 세션 또는 로컬 저장소를 해킹 할 수 있습니다. 다른 제안이 도움이 될 것입니다. 감사합니다 –

+0

나는 그것을 안다. 왜냐하면 서버와 클라이언트 양쪽에서 적절한 인증이 있어야하기 때문입니다. jwt 토큰 (예를 들어)을 사용할 수 있습니다. localstorage 또는 세션 저장소에 저장하지 않으면 원하는 것을 얻을 수 없을 것입니다. 방법이 없으므로 브라우저는 브라우저없이 추적합니다. – Pradeepb

답변

0

당신이 당신의 localStorage 한 번에 사용자가 로그인에 ui-router

$rootScope.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams, options) { 
    if(clientSideValidationFails) { 
    if(serverSideValidaionFails) { 
    } 
    } 
}) 

그냥 설정 hasLoggedIn 상태를 사용하는 가정.

+0

로컬/세션 저장소는 개발자 도구에서 편집 가능합니다. 따라서 이것은 보안되지 않습니다. –

+0

유효성 검사를 위해 서버 측을 가져 오십시오. – InfinitePrime

+0

개발자 도구에서 볼 경우 콘솔에 JavaScript를 직접 입력하여 전체 HTML 내용을 변경할 수 있습니다. 원래 응용 프로그램에 포함되지 않은 새로운 anglejs 화면이 도입 될 수도 있습니다. 이는 불행한 일입니다. –