mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 16:07:38 +03:00 
			
		
		
		
	Fix 403 for POST and PUT from the UI with UserLoggedInAuthentication
This commit is contained in:
		
							parent
							
								
									e712ab0ba1
								
							
						
					
					
						commit
						0e085364fd
					
				|  | @ -96,11 +96,16 @@ class UserLoggedInAuthentication(BaseAuthentication): | ||||||
|             # Temporarily replace request.POST with .DATA, to use our generic parsing. |             # Temporarily replace request.POST with .DATA, to use our generic parsing. | ||||||
|             # If DATA is not dict-like, use an empty dict. |             # If DATA is not dict-like, use an empty dict. | ||||||
|             if request.method.upper() == 'POST': |             if request.method.upper() == 'POST': | ||||||
|  |                 token = request.POST.get('csrfmiddlewaretoken') | ||||||
|  | 
 | ||||||
|                 if hasattr(self.view.DATA, 'get'): |                 if hasattr(self.view.DATA, 'get'): | ||||||
|                     request._post = self.view.DATA |                     request._post = self.view.DATA.copy() | ||||||
|                 else: |                 else: | ||||||
|                     request._post = {} |                     request._post = {} | ||||||
| 
 | 
 | ||||||
|  |                 if token is not None: | ||||||
|  |                     request._post['csrfmiddlewaretoken'] = token | ||||||
|  | 
 | ||||||
|             resp = CsrfViewMiddleware().process_view(request, None, (), {}) |             resp = CsrfViewMiddleware().process_view(request, None, (), {}) | ||||||
| 
 | 
 | ||||||
|             # Replace request.POST |             # Replace request.POST | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user