imn*_*mns 7 python authentication django rss
我正在考虑将RSS源添加到我的一个Django应用程序中,我希望能够对它们进行身份验证.
我想在Django 1.2中使用新的联合框架.我已经阅读了有关如何执行此操作的文档并设置了基本的Feed.
我是认证Feed的新手,所以我不确定最好的方法是什么,或者我的选择到底是什么.
每个用户都有一个唯一的子域,我希望URL结构看起来像这样:http://mysubdomain.mysite.com/myapp/rss/如果可能的话.
我不希望这些供稿公开,是否可以使用用户名和密码进行身份验证?您是否发现大多数Feed阅读器都支持此功能?如果无法对每个用户进行身份验证,我是否应该尝试使用uuid为其提供唯一的URL或者不够安全?
你可以告诉我,我不确定采取什么方向,所以任何关于最佳方法的建议都将非常感激.
谢谢
您是否尝试过将联合视图包装django.contrib.syndication.views.feed到需要登录的视图中?RSS 提要通常应通过 HTTP 获取,因此这应该可行!
# Import Django's standard feed view.
from django.contrib.auth.decorators import login_required
from django.django.contrib.syndication.views import feed
# Wrap it in a new feed view that requires authentication!
private_feed = login_required(feed)
Run Code Online (Sandbox Code Playgroud)
警告:我从来没有尝试过这个!
编辑!
为了安全地使用不支持重定向的 RSS 阅读器,请返回包含以下内容的 HTTP 401 状态代码:
authentication_url = '/accounts/login'
def feed_safe_login_required ( view ):
def _ ( request, *args, **kwargs ):
if not request.user.is_authenticated:
return HttpResponseNotAuthorized, authentication_url
return _
feed = feed_safe_login_required(django.contrib.syndication.views.feed)
Run Code Online (Sandbox Code Playgroud)
在此django snippetHttpResponseNotAuthorized中定义的位置。