2011-10-24 57 views
0

我編寫了處理來自管理員登錄頁面的請求的中間件。如何將身份驗證後的用戶重定向到某個中間頁面,並顯示一些「繼續」按鈕,該按鈕會將我重定向到標準場景中應顯示的頁面。Django。認證後的中間頁面

我在設置列表中的AuthenticationMiddleware之後設置了我的中間件。儘管如此,如果我在中間件中設置了一些返回語句,用戶身份驗證過程將失敗。

我需要這個來顯示一些有關Atlassian服務的認證結果的其他信息。不想通過JavaScript來完成,所以決定實現中間頁面功能。

回答

0

不使用中間件,而是使用該身份驗證信息創建一個模板,並在登錄視圖結束時使用函數render_to_response來呈現該模板。您可以向此功能添加變量以提供額外信息。

例子:

return render_to_response('my_template.html', 
         my_data_dictionary, 
         context_instance=RequestContext(request)) 
+0

我應該重寫Django缺省的管理員登錄這個? – sunprophit

+0

@sunprophit只是創建一個登錄視圖,並調用django管理員登錄裏面,如果它,這種方式你使用django管理員,你選擇下一個模板來呈現。 – juankysmith

+0

仍然沒有得到它如何幹預Django的管理員登錄過程。據我瞭解,django登錄邏輯被放置在一些默認中間件中,並且登錄視圖正在從該中間件調用(如果我理解的話,RemoteUserMiddleware是正確的)。我應該在哪裏注入我的視圖功能? – sunprophit