2011-03-06 9 views
3

GAE에 신청서를 작성 중입니다. 현재 로그인 한 사용자를 내 응용 프로그램의 데이터에 연결하기 위해 users.get_current_user()와 members.user (아래 모델 참조) 사이의 동등성에 의존하고 있습니다. 내가 문제가되는 부분은 사용자가 초기 로그인 ([email protected]! = [email protected])과 다른 대문자 사용 이메일 주소로 로그인하는 것입니다. 현재 사용자를 애플리케이션 관련 데이터에 연결하는 가장 신뢰할 수있는 방법은 무엇입니까?Google App Engine에서 UserProperty를 사용하여 데이터 연결

class members(db.Model): 
    firstName=db.StringProperty(verbose_name='First Name',required=True) 
    lastName=db.StringProperty(verbose_name='Last Name',required=True) 
    user=db.UserProperty() 

답변

4

사용자 이름을 사용하지 마십시오 - user.user_id()으로 전화하여 비교하십시오. 닉네임이나 이메일 주소가 변경 되더라도 그대로 유지됩니다.

+0

그렇게하면 db.UserProperty() 이외의 속성 유형으로 변경해야합니다. – garnertb

+1

@ user589983 왜? 'user_id()'는 UserProperty에 의해 반환되는 User 객체의 메쏘드입니다. –

0

사용자 이름을 항상 소문자로 변환 한 다음 작업을 수행합니다 (처음으로 저장하고 나중에 비교할 때).

+0

나는 Pyton을 모른다. 그러나 이것은 옳은 것처럼 보인다. 어쨌든이 문제는 언어에 구애받지 않습니다. 이메일을 저장하거나 비교하기 전에 소문자 이메일 (일반적으로 사용자 이름)을 사용하십시오. –

관련 문제