在访问django管理员登录页面时直接对用户进行身份验证

时间:2018-07-17 18:03:45

标签: python django reactjs django-admin

我有一个Reactjs应用程序,该应用程序已经有一个用户登录。我在Web应用程序上附加了一个链接,该链接使该用户能够访问Django管理页面,但现在它仍然需要用户登录。

我想绕过登录,因为登录React应用程序时用户已经通过身份验证。

如何绕过登录页面并告诉django该用户已通过身份验证?如果我仍然想收到request的电子邮件怎么办?在哪里可以访问请求对象?

编辑:

我应该指定我想检查本地存储中已经有的身份验证令牌,然后直接对外部用户进行身份验证。如果不存在身份验证令牌,我仍然应该点击django管理员登录页面

EDIT2:

创建了一个仅用于处理Auth0身份验证的自定义页面。但是我不确定下一步该怎么做。此时的request.userAnonymousUser,我无法对其进行实际操作。无法识别这是谁(但我可以成功检查此用户是否具有权限)

我打算创建一个用户并授予其超级用户权限?那是正确的方法吗?

EDIT3:

login(request, request.user, backend='django.contrib.auth.backends.RemoteUserBackend')
return HttpResponseRedirect("/my/url")

我知道了

'AnonymousUser' object has no attribute '_meta'

这是身份验证问题的一部分吗?

1 个答案:

答案 0 :(得分:0)

您不应“绕过登录名”,而需要使用授权令牌...来识别使用API​​的客户端实际上是您自己,而不是其他任何人

这个过程真的很简单,一旦您将用户名和密码发送到后端(django),您便会在前端(react)上重载一个自动处理令牌,并且来自前端的每个请求都将其添加到标头中

使用django_rest_framework或类似的东西(作为好吃的东西)

http://www.django-rest-framework.org/api-guide/authentication/