Django 使用angularjs资源和RESTApi创建登录的正确方法
我使用Django Tastypie来构建我的api,我正在以正确的方式创建一个登录表单,这样用户就可以登录到应用程序中,现在我要做的是发送一个GET请求,并使用他在表单中提交的用户名/密码作为过滤选项,但我很确定这根本不安全。如何使用POST请求执行相同的操作 当我用firebug打开控制台时: 获取URL/app/api/v1/user/?email=user&password=PASSDjango 使用angularjs资源和RESTApi创建登录的正确方法,django,angularjs,tastypie,Django,Angularjs,Tastypie,我使用Django Tastypie来构建我的api,我正在以正确的方式创建一个登录表单,这样用户就可以登录到应用程序中,现在我要做的是发送一个GET请求,并使用他在表单中提交的用户名/密码作为过滤选项,但我很确定这根本不安全。如何使用POST请求执行相同的操作 当我用firebug打开控制台时: 获取URL/app/api/v1/user/?email=user&password=PASS Api认证和内容类型位于标题上。您可以使用模块发布数据 只要做: 始终通过https发送身份验证数据,否
Api认证和内容类型位于标题上。您可以使用模块发布数据 只要做: 始终通过https发送身份验证数据,否则您的密码将以明文形式发送。@leosilvano 不要使用angular js处理用户身份验证和授权,这不是不可能的,只是它不太安全,而且当Django提供远比这简单的东西时,实现也需要一些努力 我碰巧使用了django+angularjs+tastypi(restapi)。如果你愿意,看看我的实施方式 将angularJs的index.html包含在模板(Django模板)中,并将指令、控制器、js、css等放在静态文件夹(Django static)中。在身份验证过程之后进行API调用。这将无缝地工作,您也将遇到较少的问题 原因:
OP使用
$resource
,它可能看起来像:User.$save()
。我想我可以使用$http进行登录,其余部分使用$resource。api和前端将位于不同的服务器中,忘了提到这一点,这就是为什么我尝试只使用angularJS构建安全登录的原因。我也已经对CORS采取了一些措施。。我将研究第二个解决方案。我测试了它,它工作了,但需要做一些修改。恐怕我还不能投票。
$http.post(url, data)
@login_required(login_url='/login/')
def profile(request):
return render_to_response('profile.html')
if request.method != 'POST':
return HttpResponseNotFound(render_to_response('404.html', { 'message' : 'Only POST Requests are allowed for authentication process.', 'baseurl' :request.build_absolute_uri('/').rstrip('/')}))