2012-12-09 3 views
2

로그인 할 때 coldfusion 서버에서 CFIDCFTOKEN을 할당합니다. 나중에 CFIDCFTOKEN을 사용하여 내 세션이 존재하는지 여부를 어떻게 확인할 수 있습니까? 즉세션이 여전히 존재하는지 확인

나는 그 CFIDCFTOKEN에 관한 세션이 여전히 존재 아닌지 CFIDCFTOKEN하고 말할 것이다 걸릴 것입니다 기능을합니다.

감사

+0

달성하고자하는 더 높은 목표를 구체적으로 말씀해 주시겠습니까? 그것은 당신에게 훨씬 더 많은 답을 줄 수 있습니다. –

+0

모바일 앱에서 내 세션이 여전히 존재하는지 확인하기 위해 서버에 전화를 보내려고합니다. 그렇지 않은 경우 사용자를 로그인 화면으로 보냅니다. –

+0

사용자가 로그인 할 때 단순히 사용자 세션 변수'Session.HasUserLogedIn'을'true'로 설정하십시오. 모바일 앱에서 서버로 요청이 들어올 때마다, 변수가 'true'값을 가지고 있는지 확인해야합니다. 그렇다면 서버가 아니라면 사용자가 세션이 만료되었습니다. 그녀를 로그인 화면으로 리디렉션합니다. 내가 여기서 아무것도 놓치고 있니? –

답변

7

세션에서 플래그를 설정하는 것이다이를 위해 가장 쉬운 방법 경우에 사용자가 로그인. 예를 들어

다음

<cfset session.loggedin = true /> 

당신이 있는지 확인하려면 사용자가 여전히 유효한 세션을 가지고 있습니다.

<cfparam name="session.loggedin" default="false" /> 
<cfif NOT session.loggedin> 
    <!--- do something here ---> 
</cfif> 
+0

네, 가장 쉬운 방법입니다. 그러나 적절한 방법이있을 것으로 기대하고있었습니다. 예를 들어 냉혈 기능 등. –

+0

누군가가 적절한 방법으로 게시물을 작성하지 않으면 답변을 수락합니다. 감사합니다 –

+3

그건 정말 적절한 방법입니다. 당신은'StructKeyExists (session, 'anyvaluethatshouldexist')'를 할 수 있지만, Chris가 위에했던 것과 동일합니다 –

1

아무 것도 없습니다. 크리스의 대답에 문제가 있으며 일반적으로 세션을 확인할 때 표준 표준입니다.

이 두 쿠키는 실제로 세션을 유지하는 것이 아니라 세션을 브라우저에 "연결"하기위한 것입니다. 실제로이 쿠키는 30 년 후에 만료되고 (?), 내가 잘못하지 않았다면 J2EE session management을 사용하십시오.) docs에서 :

클라이언트 및 세션 변수를 사용하려면 ColdFusion에서 클라이언트를 식별 할 수 있어야합니다. 그것은 일반적으로 클라이언트 시스템에서 다음과 같은 두 가지 쿠키 값을 설정하여 그렇게 :

CFID : 순차 클라이언트 식별자

CFTOKEN : 난수 클라이언트 보안 토큰이 쿠키는 유일하게 클라이언트를 식별 ~ ColdFusion은 부분의 변수 복사본을 세션 및 클라이언트 범위에도 유지합니다. 당신이 here을 읽을 수 있듯이

벤 나델은 CF가이 만료 된 후 새 세션을 만들 같은 CFIDCFTOKEN 쿠키를 사용 CFIDCFTOKEN 일부 재생 주변했다. 당신의 "ColdFusion에서 적절한 '방법에 관해서는

, 당신 CFLOGIN 및 인증 처리를 지원하기위한 것입니다 other security tags을 사용하여 조사 할 수 있지만 세션을 유지하는 크리스 매우 간단하기 때문에 많은 사람들이 그것을 사용 믿지 않는다 시연했다.