2011-02-23 161 views
0

好的驗證的應用程序,因此這似乎是壞的(很可能是,但我此刻足夠的懷疑,我想嘗試一下)。POST請求和Django

我有一個Django基地網站嵌入在頁面上的一個jwplayer的Flash應用程序。用戶必須登錄才能進入該頁面。 jwplayer只是播放一段icecast流。

我想什麼/需要做的是有這樣只有合法的用戶才能獲得icecast服務。目前,如果他們從網頁抓取網址,他們可以相當平凡。

Icecast可以通過我在django視圖中設置的POST進行身份驗證。

所以,我想是的flash播放器來發送登錄,給的Icecast用戶,然後將使用相同的用戶名和密碼進行身份驗證的用戶名和密碼。

我的問題是,Django不存儲實際的密碼,只是一個哈希(好東西),所以我開始認爲我真的不能真正將用戶和密碼發送給icecast進行身份驗證。

我的另一個想法是隻發送的用戶名,並檢查該人已通過身份驗證。

但是,這將允許有人聽,如果有人已經登錄。

我可以做一個會話變量或什麼東西嗎?

Django guru的幫助我!我開放給所有人和任何想法。

乾杯

馬克。

回答

0

爲什麼不只是讓您的Flash播放器查找Django會話cookie,然後根據用戶登錄的Web服務器進行驗證?

添加像這樣到你的網址:

(r'^loggedin/', logged_in_user), 

添加一個觀點是這樣的(未測試):

from django.http import HttpResponseForbidden 
def logged_in_user(request): 
    if request.user.is_authenticated(): 
     return HttpResponseForbidden() 
    else: 
     response = HttpResponse(mimetype='text/plain') 
     response.write('ok') 
     return response 

然後,只需做一個對/的loggedIn獲得/和檢查返回代碼,如果是200,他們都記錄在401,如果他們沒有(假設你正在傳遞的會話cookie)

+0

是啊,我一直在考慮做這樣的事情。創建一個會話cookie,並讓icecast服務器點擊一個驗證它的網址。任何代碼片段,我可能會看到這可能有助於這個?我之前沒有使用django會話。 – 2011-06-02 01:53:00