问题标签 [django-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
278692 浏览

django - 在 Django 中使用自定义字段扩展用户模型

使用自定义字段扩展用户模型(与 Django 的身份验证应用程序捆绑)的最佳方法是什么?我也可能想使用电子邮件作为用户名(用于身份验证)。

我已经看到了一些 方法来做到这一点,但无法决定哪一个是最好的。

0 投票
7 回答
1421 浏览

python - 为公共 django 站点制作 beta 代码

我即将在网络上发布我正在开发的网站的测试版。它需要有一个测试代码来限制访问。该网站是用 django 编写的。

我不想改变基本的 Auth 系统以适应 beta 代码,我也不特别关心 beta 代码的安全性是铁定的,只是它是一个重要的绊脚石。

我该怎么做?这是一个相当大的项目,因此向每个视图添加代码远非理想。


该解决方案效果很好。我最终得到的中间件类是这样的:

0 投票
7 回答
6964 浏览

python - Django UserProfile ...没有密码

我想创建一个没有登录名的用户子集......基本上作为一种在照片中添加摄影师字段的方式,而无需与该人关联的完整帐户(因为在许多情况下,他们会从未真正登录到该站点)。需要注意的是,我还希望以后能够为他们启用帐户。

因此,我认为问题变成了设置与 User 表相关联的“People”表而不用 UserProfile 实际扩展 User 表的最佳方法。

0 投票
1 回答
1982 浏览

python - Django 自定义身份验证后端是否需要输入密码?

这是我的大学处理身份验证的方式:我们将用户重定向到一个网站,他们输入他们的用户名和密码,然后他们使用用户名和在查询字符串中传递的登录密钥被重定向回我们。当我们找回用户时,我们调用大学数据库中的一个存储过程,它获取用户名、登录密钥和 IP 地址,并告诉我们这是否有效。

我已经设置了一个 Django 自定义身份验证后端来处理所有这一切。我是否让它能够接受密码参数(因为我们实际上并没有使用他们的密码)是否有任何不同?现在,我已将其设置为将登录密钥作为密码参数。将其更改为将其作为登录密钥而不是密码对我来说是好是坏还是两者都不是?

0 投票
1 回答
1407 浏览

python - django 登录中间件未按预期工作

一个快速的,希望是一个简单的。我正在关注http://docs.djangoproject.com/en/dev/topics/auth/上的文档,以获取一些简单的用户身份验证。我根本没有什么特殊要求,我只需要知道用户是否登录,仅此而已。我正在使用 login_required 装饰器,它的工作方式完全符合我的预期。我实际上使用 'django.contrib.auth.views.login' 作为我的登录视图,以及它们在文档中显示的确切形式:

我想我不明白的是为什么我可以在用户/密码字段中放入我想要的任何内容,并且我从未收到无效用户/密码组合的错误。我可以输入不存在的用户,使用正确密码的正确用户,基本上我想要的任何内容,它都会将我发送到“下一个”变量中的任何内容。这让我相信它实际上并没有做任何事情。我在登录后检查了我通过请求变量发送的内容,并且我始终显示为 AnonymousUser,即使我“成功登录”。我在这里忽略了一些明显的东西吗?好像我现在已经阅读了关于身份验证的页面 6 或 7 次。

此外,如果我以具有“员工身份”的用户身份登录,我将显示为已通过身份验证,没有任何问题。如果用户没有该状态,则它不起作用。

0 投票
4 回答
17913 浏览

django - 如何从不同位置检测到 Django Web 应用程序的多个登录?

我想一次只允许一个经过身份验证的会话用于我的 Django 应用程序中的个人登录。因此,如果用户使用给定的 IP 地址登录网页,并且这些相同的用户凭据用于从不同的 IP 地址登录,我想做一些事情(注销第一个用户或拒绝访问第二个用户。)

0 投票
13 回答
52417 浏览

django - Django:保存模型时填充用户 ID

我有一个带有 created_by 字段的模型,该字段链接到标准 Django User 模型。保存模型时,我需要使用当前用户的 ID 自动填充它。我不能在 Admin 层执行此操作,因为站点的大部分部分都不会使用内置的 Admin。任何人都可以建议我应该如何去做吗?

0 投票
4 回答
8330 浏览

django - 在 Django admin 中,如何按组过滤用户?

它使您可以按员工状态和超级用户状态进行过滤,但是组呢?

0 投票
3 回答
2350 浏览

python - 使用 auth.views 的 django 身份验证

用户应在注册后和注销后重定向到登录页面。在这两种情况下,都必须显示一条指示相关消息的消息。

使用django.contrib.auth.views.login我如何发送这些 {{ info }} 消息。

一个可能的选择是将复制auth.views到新的注册模块并包含所有必要的东西。但这似乎还不够干。

什么是最好的方法。

更新:问题阐述:

对于正常情况,当您想向某些用户指示您可以使用的操作的响应时

这将创建一条消息,该消息显示在其中一个模板中并自动删除。

但是,此消息系统仅适用于继续具有相同会话 ID 的登录用户。在注册的情况下,用户没有经过身份验证,并且在由于会话更改而退出的情况下,无法使用该系统。

除此之外,内置函数loginlogout函数django.contrib.auth.views返回一个“HttpResponseRedirect”,这使得无法向模板添加另一个变量。

我尝试在请求对象本身上进行设置

并在不同的视图中检查

即使这样也没有用。

显然,我可以定义一个已注册的.html 并在其中添加此静态消息,但我懒得编写另一个模板并尝试 DRY 实现它。

我意识到“注册”消息和“注销”消息的情况不同。我使用的 DRY 方法,我将写为答案。

0 投票
10 回答
42512 浏览

django - 如何在 Django 中强制用户注销?

在某些条件下,在我的 Django 应用程序中,我希望能够强制用户通过用户名注销。不一定是当前登录的用户,而是另一个用户。因此,在我看来,请求方法没有关于我要注销的用户的任何会话信息。

我熟悉 django.auth 和 auth。logout 方法,但它需要request作为参数。如果我只有用户名,是否有“Django 方式”来注销用户?还是我必须推出自己的注销 SQL?