2016-06-29 6 views
0

세션에 대해 읽었을 때 대부분 세션에서 사용자 ID가 저장되어 있음을 발견했습니다. 사용자 이름과 상태를 저장하는 로그인 페이지를 만들었습니다. 사용자 이름이 고유하다고 가정합니다. 따라서 사용자가 로그인하면 다음을 출력 할 수 있습니다.세션에 사용자 ID 저장

안녕하세요, 사용자 이름입니다. 나는 데이터베이스에 뭔가를 변경해야하는 경우

, 나는 다만 할 수 있습니다

statement where username= username in the session 

은 왜 우리가 세션에서 사용자 ID를 저장해야합니까?

+0

-project 다르다? 당신의 상황은 정확히 무엇입니까? 세션에서 userID를 저장하면 성능이 향상되고 데이터베이스에서 가져온 이름을 세션에 저장할 수 있습니다. 어떻게 세션을 처리합니까? – JRsz

+0

@JRsz "세션에서 userID를 저장하면 성능이 향상됩니다"- 정확하게 묻습니다. userID를 사용하지 않고 사용자 이름을 사용하여 데이터베이스에서 작업을 수행합니다. 사용자 이름이 고유하다고 가정합니다. 왜 사용자 이름 대신 사용자 ID를 사용해야합니까? – morbidCode

+0

동일한 이름을 가진 두 사람이있을 수 있기 때문에. 각각의 사용자에 대해 userID를 사용하면 이름이 같지 않은 두 개의 사용자가 있어도 사용자의 ifentifier를 제공 할 수 있습니다. 모든 사람이 자기 ID를 기억할 수있는 것은 아니기 때문에 자기 ID 또는 이메일 주소와 같이 ID를 식별하기 위해 고유 한 다른 것을 사용하십시오. 데이터베이스에서 정보를 얻고 사용자를 고유 ID와 연관 시키십시오. 이것은 대부분의 시나리오에서 조용하게 효과가 있음을 입증했습니다. – JRsz

답변

0

logged inuser의 정보를 session에 저장하십시오. project에 필요합니다. 이렇게하면 query 조건부하지만 session에서 userid를 저장 한 경우 username을 사용하여 실행해야 할 경우 다음 일부는 당신이 쉽게 얻을 수 있습니다 당신이 logged in 사용자 ID가 필요 executionquery

은 가정마다의 시간을 줄일 수 있습니다. 이것은 우리가 logged in 사용자의 로그를 유지 보수하는 프로젝트에서 또는 다른 사용자가 access을 변경 한 경우 변경 한 사용자의 ID를 저장해야하는 프로젝트에 유용합니다.

의 필요성은 일부 실제 코드를 게시 할 수 project