コード例 #1
0
ファイル: decorators.py プロジェクト: fiendskull9/UDJ
 def wrapper(*args, **kwargs):
   request = args[0]
   if getDjangoTicketHeader() not in request.META:
     responseString = "Must provide the " + getTicketHeader() + " header. "
     return HttpResponseBadRequest(responseString)
   elif not isValidTicket(request.META[getDjangoTicketHeader()]):
     return HttpResponseForbidden("Invalid ticket")
   else:
     return function(*args, **kwargs)
コード例 #2
0
ファイル: decorators.py プロジェクト: yeoedward/UDJ
 def wrapper(*args, **kwargs):
   request = args[0]
   user_id = kwargs['user_id']
   if getDjangoTicketHeader() not in request.META:
     responseString = "Must provide the " + getTicketHeader() + " header. "
     return HttpResponseBadRequest(responseString)
   elif not isValidTicket(
     request.META[getDjangoTicketHeader()],
     request.META['REMOTE_ADDR']):
     return HttpResponseForbidden("Invalid ticket: \"" + 
       request.META[getDjangoTicketHeader()] + "\"")
   elif not ticketMatchesUser(request, user_id):
     return HttpResponseForbidden("The ticket doesn't match the given user\n" +
       "Give Ticket: \"" + request.META[getDjangoTicketHeader()] + "\"\n" +
       "Given User id: \"" + user_id + "\"")
   else:
     return function(*args, **kwargs)
コード例 #3
0
ファイル: testhelpers.py プロジェクト: houdekk/UDJ
 def doPost(self, url, args):
   return self.client.post(url, args, **{getDjangoTicketHeader() : self.ticket_hash})
コード例 #4
0
ファイル: testhelpers.py プロジェクト: houdekk/UDJ
 def doDelete(self, url):
   return self.client.delete(url, **{getDjangoTicketHeader() : self.ticket_hash})
コード例 #5
0
ファイル: testhelpers.py プロジェクト: houdekk/UDJ
 def doGet(self, url):
   return self.client.get(url, **{getDjangoTicketHeader() : self.ticket_hash})
コード例 #6
0
ファイル: testhelpers.py プロジェクト: houdekk/UDJ
 def doJSONPut(self, url, payload):
  return self.client.put(
     url,
     data=payload, content_type='text/json', 
     **{getDjangoTicketHeader() : self.ticket_hash})
コード例 #7
0
ファイル: testhelpers.py プロジェクト: yeoedward/UDJ
 def doDelete(self, url, headers={}):
   headers[getDjangoTicketHeader()] = self.ticket_hash
   return self.client.delete(url, **headers)
コード例 #8
0
ファイル: testhelpers.py プロジェクト: yeoedward/UDJ
 def doPut(self, url, headers={}):
   headers[getDjangoTicketHeader()] = self.ticket_hash
   return self.client.put(url, **headers)
コード例 #9
0
ファイル: testhelpers.py プロジェクト: yeoedward/UDJ
 def doJSONPut(self, url, payload, headers={}):
   headers[getDjangoTicketHeader()] = self.ticket_hash
   return self.client.put(
     url,
     data=payload, content_type='text/json',
     **headers)
コード例 #10
0
ファイル: auth.py プロジェクト: houdekk/UDJ
def ticketMatchesUser(request, provided_user_id):
  matchingTickets = Ticket.objects.filter(
    ticket_hash=request.META[getDjangoTicketHeader()], 
    user__id=provided_user_id)
  return len(matchingTickets) > 0
コード例 #11
0
ファイル: auth.py プロジェクト: houdekk/UDJ
def getUserForTicket(request):
  return Ticket.objects.get(
    ticket_hash=request.META[getDjangoTicketHeader()]).user