我有一個定製的UploadHandler(SDFUploadHandler
),我想申請到一個POST在Django REST框架(DJRF)。然而,這樣做的:Django resto框架與tailormade uploadhandler提供的問題與csrf令牌
request.upload_handlers.insert(0, SDFUploadHandler(request, dataset))
並沒有真正據我從https://stackoverflow.com/a/30875830/214742理解,因爲DJRF檢查CSRF令牌,一旦讀取已經開始爲時已晚改變上傳處理工作。我還發現How do I modify the file upload handlers in a class based View with CSRF middleware?它顯示了一個很好的方法來繞過自動csrf標記檢查,然後手動執行它,這意味着我可以運行我的UploadHandler。問題是我的應用程序需要審計,所以我需要知道哪個用戶實際提出了請求,並且因爲我禁用了身份驗證才能使其工作,所以我不再有request.user
。在添加我的上傳處理程序後,是否可以通過簡單的方式手動進行身份驗證?或者UploadHandler能否以某種方式被掛鉤?
此外,對於我來說,一個解決方案只適用於Django標準身份驗證是不夠的,但它需要更通用,因爲我也將使用基於Keycloak的身份驗證。