gpt4 book ai didi

python - 从服务器进行 Django REST 登录

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:34 24 4
gpt4 key购买 nike

我使用 AngularJS 作为客户端固件,以及 django 休息框架。我在身份验证部分,想知道是否可以 POST us/pw,然后在后端登录用户,然后能够使用 @login_required 进行访问。

我想避免在客户端中使用 $cookies,然后如果我没有登录,服务器会响应 404,然后 Angular 将用户重定向到登录页面。当用户登录时,该用户将有权访问服务器。

是否可以在 localhost:8000 上登录 django,然后从 localhost:82 访问?

为了尝试,我已登录到管理页面(现在用户已登录),然后从 localhost:82 访问一些信息,但该信息不起作用

angular.js:11442 GET http://localhost:8000/website/api/order/?format=json 404 (Not Found)


@api_view(['POST'])
def login(request):
if request.method == 'POST':
#print(request.data['password'])
username = request.data['username'];
password = request.data['password'];
user = auth.authenticate(username=username,password=password);
if user is not None:
if user.is_active:
auth.login(request,user);
return Response(200)
else:
return Response(404)
else:
return Response(404)

验证有效,当我输入真实的用户名和密码时,我得到 200 作为响应,如果我从客户端使用管理员帐户登录,如果我输入 localhost/admin,我将无法访问管理页面吗?目前,当我尝试访问管理页面时,我尚未登录。

最佳答案

如果您想使用SessionAuthentication您必须位于同一主机上。当您从不同主机访问页面时,服务器无法检查您是否是同一用户。

如果您的 angular.js 应用程序在不同的主机上运行,​​您应该通过 TokenAuthentication 进行身份验证或者一些更复杂的方法,例如 JSON WTA。

关于python - 从服务器进行 Django REST 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com