2012-08-15 8 views
0

저는 로그인 및 기타 데이터베이스 트랜잭션을 위해 웹 서버에 연결하는 PHP 클래스가있는 응용 프로그램에서 작업 중이며 SQLite는 사용자 자격 증명을 저장하는 로컬 db 역할을합니다.세션 또는 사용자 환경 설정을 설정해야합니까?

SQLite가 사용자 세션을 유지하는지 여부는 모르지만 사용자가 로그 아웃 버튼을 클릭 할 때까지 로그인 상태를 유지합니다.

사용자가 주 전역에서 사용자 ID를 기반으로 다른 데이터베이스 트랜잭션을 수행 할 수 있도록 세션을 구현하는 방법은 무엇입니까?

일부 사람들은 session in PHP을 설정하고 다른 사람은 use preferences이라고 설정합니다.

나를위한 가장 좋은 해결책은 무엇입니까?

답변

2

어쩌면 나는 물어 보지 않을 것입니다. 그렇지만, 웹 서비스가 RESTful 한가 아닌가요?

그렇다면 서버에서 사용자 세션을 유지하지 않는 것에 대한 많은 토론을 읽지 만 대신 (자격 증명이나 보안 인증 시스템을 사용하여) 요청할 때마다 사용자를 인증합니다.

그렇지 않으면 사용자가 인증 할 때 서버 측 PHP 세션을 만들 수 있습니다. fk_user_id 필드가 포함 된 특정 테이블에 세션을 저장하고 인증 프로세스가 끝나면 session_id를 클라이언트 응용 프로그램 (귀하의 경우에는 Android app)으로 되돌려 보냅니다. 그런 다음 session_id가 저장되고 (예 : 사용자 기본 설정에 있음) 세션 테이블과 fk_user_id 필드 덕분에 누가 데이터를 요청 하는지를 검색하기 위해 각 요청과 함께 전송됩니다.

+0

데이터베이스에 세션 테이블을 만들지 않고 세션을 만들 수 있습니까? 데이터베이스는 사용자 ID와 PW를 가지고 있으며, 나는 sqlite를 검색하고 저장하고있다. – user1466971

+0

추적하지 않으면받는 session_ids를 (서버 측에서) 어떻게 식별 할 것입니까? 어떤 이유로 세션을 저장할 수 없거나 저장하고 싶지 않은 경우 각 요청마다 사용자 자격 증명을 보내는 첫 번째 옵션 (예 : HTTP 기본 인증 사용) –

+0

으로 이동하십시오. 감사합니다. – user1466971