好的,所以这看起来很糟糕(可能是这样,但我现在有足够的疑虑,我想尝试一下)。
我有一个Django基地网站,其中一个页面上嵌有一个jwplayer flash应用程序。用户必须登录才能进入该页面。 jwplayer只是扮演一个冰流。
我希望/需要做的是让只有经过身份验证的用户才能访问icecast服务器。目前,如果他们从网页上获取网址,他们可以相当平凡地进入网站。
Icecast可以通过POST进行身份验证,我已经在django视图中进行了设置。
所以我想要的是让flashplayer将登录用户的用户名和密码发送到icecast,然后使用相同的用户名和密码进行身份验证。
我的问题是django没有存储实际的密码,只是一个哈希(一件好事)所以我开始认为我不能真正将用户和密码发送给icecast进行身份验证。
我的其他想法是只发送用户名,并检查该人是否已经过身份验证。
但如果有人已经登录,这将允许有人听。
我可以用会话变量做些什么吗?
Django大师的帮助我!我对所有人和任何想法持开放态度。
干杯
标记。
答案 0 :(得分: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)