2010-06-07 5 views
2

저는 응용 프로그램의 보안 메커니즘으로 cfloginuser를 사용하여 웹 서비스 호출을 보호합니다.사용자가 이미 cfloginuser를 통해 로그인했는지 확인합니다.

두 번째 사용자가 이미 다른 컴퓨터에 로그인 한 상태에서 두 번째 사용자가 동일한 계정에 로그인하는 것을 중지하고 싶습니다. 근본적으로 무슨 일이 일어나고 있는지, 두 사람 모두 동일한 사용자 이름을 공유하기 때문에 두 번째 로그인이 발생하면 사용자 이름으로 로그인 한 첫 번째 사람이 쫓겨납니다.

어쨌든 특정 사용자 이름이 이미 로그인되어 있는지 확인할 수 있습니까? 그렇기 때문에 두 번째 로그인도 인증하지 못하게 할 수 있습니까? (한 번에 하나의 컴퓨터에만 로그인 할 수 있습니다.)

+1

이전 세션을 시작/종료하는 것이 더 좋습니다. 가장 초기 세션으로 제한되어 있고 어떤 이유로 든 첫 번째 세션에 액세스 할 수 없으면 다시 로그인하기 전에 시간 초과가 될 때까지 기다려야합니다. 이는 귀찮은 일입니다. –

+0

좋은 지적 Peter. 이것은 실제로 Flex 앱이므로 원래 사용자는 사용자에게 다시 전달되는 것을하려고 할 때까지 로그 오프되었음을 알지 못할 가능성이 있습니다. 나는 그저 확인하고 그에 따라 기록해야한다. – beardedd

답변

3

내가 생각할 수있는 유일한 방법은 응용 프로그램 범위에 사용자 이름을 저장 한 다음 로그 아웃 할 때 제거하는 것입니다. (사용자가 로그 아웃 링크를 클릭하지 않은 경우 application.cfc에서 OnSessionEnd를 추가하십시오.)

그런 다음 사용자가 로그인하면 애플리케이션 범위에서 로그인 한 사용자 목록을 확인하고 그 이름이 있으면 두 번째로 할 수있게하십시오.

피터가 말한 것을 명심하십시오. 나는 그것이 좋은 지적이라고 생각한다.

+0

필자는 Peter의 제안을 받아 들일 예정이지만, 이것이 내가 원래 생각하고있는 것을 할 수있는 유일한 방법이라고 생각합니다. 불행한 점은이 부분에 대해 coldfusion에 내장 된 것이 아무것도 없다는 것입니다 ... – beardedd

관련 문제