2012-10-12 2 views
0

iphone에서 django 서버로 로그인 프로세스를 만들고 있습니다.iphone에서 django로 세션을 가져와 사용자 정보를 인증하는 방법은 무엇입니까?

json을 사용하여 클래스 메소드, httprequest 래퍼를 사용하여 Session 클래스를 만들었습니다.

하지만 잘 모르겠습니다. 세션 정보를 얻고 서버 세션을 일치시키는 방법은 무엇입니까?

내가 세션 정보, (단지 예를 들어 의사 코드)를받을 경우

def function(username, password) 
    if is_authenticate(username, password) == true 
     login(username, password) 
     #What send value to iphone 
     return returnValue(session_id) 

어떻게 SESSION_ID을 보낼 수 있습니까?

는 기능

def sign_in(request): 
    if request.method=='POST': 
     username = requset.POST['username'] 
     password = request.POST['password'] 
     user = authenticate(username=username, password=password) 
     list = [] 
     if user is not None: 
      if user.is_activate: 
       try: 
        login(request,user) 
        list.append({'fields': 
             {'login_status':'login success'},}) 
       except: 
        list.append({'fields': 
             {'login_status':'login fail'},}) 



returnValues = json.dumps(list,cls=DjangoJSONEncoder) 
return HttpResponse(returnValues) 

답변

1

일반적으로 세션 ID가 서버에 살고있는 그, 세션 데이터로, 기본있는 NSURLConnection 및 NSURLRequest를 사용하는 경우 자동으로 쿠키로 설정하고 싶은 경우에 얻을 것이다에게 로그인한다 귀하의 아이폰에 액세스 할 수 있습니다 당신은 일종의 API를 개발해야합니다, 그것을 기반으로 비누 또는 덜 공식적으로 정의됩니다.

그래서 워크 플로가

아이폰과 같은 수 있습니다 로그인 요청을 보냅니다 단절 응답 확인 ... 설정 쿠키 일부 세션 데이터.

iPhone이 userData 요청을 보냄 : sever가 사용자 데이터의 Json 구조로 응답합니다.

+0

Thx @Grady Player. 나는 뭔가 시험해 본다. 아이폰에서 django 서버로 쿠키를 만들고 응답으로 쿠키를 반환합니다. 하지만 'set-cookie'값을 반환 할 수는 없지만 다양합니다 : 쿠키; 어떤 해결책이 있습니까? – Haibane

+0

당신이 무엇을 의미하는지, django에서 세션이 켜져 있으면 자동으로 쿠키를 설정하도록 헤더를 보내야합니다. 그러면 기본적으로 NSURLConnection에 의해 유지됩니다 ... 일반적으로 걱정하지 않아도되지만 if 당신은 그것을 지킬 필요가 있습니다. 쿠키를 직접 관리 할 수 ​​있습니다. 어떤 경우에는 쿠키 헤더를 볼 수 있습니다. http://stackoverflow.com/questions/2053568/managing-http-cookies-on을보십시오. - 아이폰 –

관련 문제