2012-04-05 3 views
1

jQuery 또는 javascript를 사용하여 로그 아웃 버튼을 클릭하지 않고 사용자가 로그 오프되지 않았 음을 식별하는 방법.로그 아웃 버튼을 클릭하지 않고도 사용자가 로그 오프되지 않았 음을 식별하는 방법은 무엇입니까?

여기 브라우저에서 뒤로 버튼을 눌러 이전 페이지로 돌아갈 때 로그 아웃하지 않을 때 로그 아웃 버튼이 필요합니다.

<a id="webviewbtn" href="#"><img src="img/logout.png" style="float:right;" /></a>

+0

사용자가 로그 아웃 버튼을 클릭하지 않으면 확실하게 사용자가 로그 아웃되지 않았습니까? 아니면 완전히 다른 것을 의미합니까? o_O –

+0

내 previoues 페이지가 필요합니다 로그 아웃 기능이 나타납니다 – Raj

+0

당신은 사용자의 상태를 추적하는 것을 의미합니까? 서버 측 언어 도움말을 사용할 필요가 있습니다 –

답변

0

웹 페이지에 대한 조치의 형태를 수행하는 메소드 호출 비동기 또는 동 기적으로 사용자를 검증하는 웹 서비스가 있습니다

여기에 내 로그 아웃 버튼입니다.

서버가 정상적인 메시지를 반환하면 사용자는 계속 로그인하게됩니다.이 작업은 로그 아웃 버튼을 렌더링하거나 사용자가 다른 "중요한"작업을 수행 할 때 수행 할 수 있습니다.

정보를 만료 시간이있는 쿠키에 저장할 수도 있습니다. 브라우저에서 뒤로 단추를 누르면 쿠키가 지워지고 사용자가 로그 아웃되거나 무엇이 있는지를 관리 할 수 ​​있습니다.

이 구현의 가능성은 매우 많습니다. 불행히도 여기서는 "우수 사례"가 없습니다.

+0

불행히도. 코드가 아닌 개념적 기반으로 솔루션을 제공하고 있습니다. 필요에 맞는 구현을 작성하여 내 코드를 수정하지 않아야합니다. –

1

리소스를 절약하기 위해 서버에 대한 비동기 호출이 필요하지 않은 방법을 선호합니다.

시스템에 로그인하면 세션 ID가있는 쿠키가 설정됩니다. 백엔드를 통해 쿠키를 설정하여 고객이 로그인했는지 여부를 확인할 수 있습니다.

//using php here 
setcookie('customer',1); //customer is logged in 

setcookie('customer',0); //customer is not logged in 

프론트 엔드에서 jquery/javascript를 사용하여 상태를 확인할 수 있습니다. 여기 가정하고 당신이 JQuery와 쿠키 플러그인이 '고객'쿠키가 동일한 도메인 및 세션 쿠키와 같은 시간을 가지고 정말 중요하다 szenario에서

if ($.cookie('customer') === 1){ 
    $('#webviewbtn').show(); //show logout button 
} 
else{ 
    $('#webviewbtn').hide(); //no logout button needed 
} 

https://github.com/carhartl/jquery-cookie을 포함합니다. 그렇지 않으면 고객에게 돌아 오는 고객 쿠키가 여전히 1로 설정되어있을 수 있지만 세션 쿠키는 이미 유효 기간이 지났을 수 있습니다. 또한 상태 고객 === 1이 여전히 유효하다는 것을 확인하기 위해 고객으로부터 호출 된 모든 작업을 백엔드에서 확인해야합니다. 그렇지 않으면 모두가 쿠키를 1로 설정할 수 있기 때문에 큰 보안 문제가 있습니다.

+0

나중에 .. 시도 할 것입니다. 귀하의 정보에 대한 감사합니다. – Raj