2011-02-23 159 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