2013-01-24 3 views

답변

1

질문을 완전히 이해하지 못했으며 탱크 인증 라이브러리에 대해 잘 알지 못합니다. 이 문제에 대한 기본 구현이 없다고 가정 할 때, 나는 당신의 문제가 무엇이라고 생각하는지에 대한 가능한 해결책을 설명 할 것입니다.

이렇게 할 수있는 방법은 데이터베이스에 세션 토큰을 저장하고 누군가가 로그인 할 때마다 새 세션 토큰을 생성하는 것입니다. 그런 다음이 세션 토큰을 쿠키 (또는 원하는 경우 세션 변수)에 저장하십시오. 그리고 앱이로드 될 때마다 세션 토큰이 유효한지 확인하십시오. 동일한 사용자가 다른 장치에 로그인하면 세션 토큰이 변경되므로 이전 세션이 유효하지 않습니다.

사용자가 동시에 여러 장치에 로그인 할 수 있지만 단일 페이지에 대한 액세스를 잠 그려면 (예 : 웹 세미나/스크린 캐스트 액세스) 옵션. 가장 간단한 해결책은 열린 상태로 데이터베이스에 플래그를 넣는 것입니다. 문제는 하나를 닫으면 다시 볼 수 없다는 것입니다. 약간의 변형은 누군가가 처음 페이지를 열 때 설정된 세션 토큰을 사용하는 것입니다. 토큰을 데이터베이스에 저장하고이를 쿠키에 저장합니다. 그래서 그것을 여는 첫 번째 장치는 볼 수있는 장치입니다.

또 다른 해결책은 last_active 필드를 업데이트하고 페이지가 열려있는 한 서버에서 매분 ajax 호출을 수행하는 것입니다. 페이지가 2 분 동안 활성화되어 있지 않으면 더 이상 활성화되지 않는다고 가정하고 다른 장치에 액세스 할 수 있습니다.

1
나는 탱크 인증 도서관과 아무 상관이 당신이 찾고있는 것을 생각

, 그것은 application/config/config.php에있는 설정 파일에 있어요

$config['sess_match_ip']= FALSE; 
$config['sess_match_useragent'] = TRUE; 

변화

$config['sess_match_ip']= TRUE; 
$config['sess_match_useragent'] = TRUE;