python - 重新验证/确认用户凭据

标签 python django

我了解如何登录/注销用户以及在 django 中进行身份验证,但有一件事对我的新项目至关重要。

我想让用户登录(我已经登录),然后我想在某些页面上再次询问用户其凭据。

我有一种通过我制作的 EmployeeAuthenticatedMixin 的方法,它检查 POST 数据中的凭据。主要问题是 Mixin 不重定向,它仅提供一个页面。因此,用户可以点击刷新按钮并重新提交表单,从而再次授予他们访问权限。

有什么方法可以询问用户凭据并允许他们访问下一页吗?也许是 Django 内部的事情? session ?消息?

最佳答案

您可以使用 request(logout) 将他们注销,强制他们重新登录 伪代码

def confirm_crednetials(request)
     logout(request)
     render 'form'

或者首先用表单提示用户,如果他们没有 cookie,您可以使用内置的 django 方法 resp.set_cookie(foo, cookie) 检查并设置 cookie,但在您对用户进行身份验证之后。

if 'id' in request.COOKIES:
**render page
else:
    authenticate_user(username=foo, password=bar)
    resp.set_cookie(foo, cookie)

关于python - 重新验证/确认用户凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20063312/

相关文章:

python - 如何在pycharm中全局管理sys.path

django - 在 Django 中模拟模型方法

python - 并行化 python 代码中的内存共享

python - 如何在 python 中用 selenium 单击 <ul> 元素中的 <li> 元素列表?

python 比 perl mySql 查询慢 5 倍

python - Django - 如何正确建模?

python - 使用 Django Rest 框架序列化自定义数据类型并返回响应

python - django url 中两个或两个以上可选参数

python - 错误:global name 'oauth_token' is not defined

Django:如何为所有 View (不是模板)提供上下文?