当前位置: 首页 > 面试题库 >

Django使用登录的Windows域用户进行身份验证

冯星阑
2023-03-14
问题内容

我想使用当前登录到计算机的Windows域帐户(活动目录)对django
Web用户进行身份验证。如何执行此操作而又不提示用户再次输入用户名/密码,因为他已经使用域帐户登录到了系统。我正在使用django和python
2.7。我浏览了以下 链接,但并不了解如何在我的视图中使用它。请帮我。

谢谢


问题答案:

当Web服务器(此处为IIS上托管的django)负责身份验证时,通常会设置REMOTE_USER环境变量以供基础应用程序使用。在Django中,REMOTE_USER在request.META属性中可用。可以使用django.contrib.auth中REMOTE_USERRemoteUserMiddlewareRemoteUserBackend类将Django配置为使用该值。配置您必须django.contrib.auth.middleware.RemoteUserMiddlewareMIDDLEWARE_CLASSES后面添加django.contrib.auth.middleware.AuthenticationMiddleware

MIDDLEWARE_CLASSES = (
    ...
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.RemoteUserMiddleware',
    ...
    )

接下来,则必须更换ModelBackendRemoteUserBackendAUTHENTICATION_BACKENDS设置:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.RemoteUserBackend',
)

使用此设置,RemoteUserMiddleware将检测到用户名,request.META['REMOTE_USER']并使用对该用户进行身份验证和自动登录RemoteUserBackend

(更多信息https://docs.djangoproject.com/en/1.5/howto/auth-remote-
user/

REMOTE_USER发出请求,请执行以下IIS设置:

1.在“控制面板”中,单击“程序和功能”,然后单击“打开或关闭Windows功能”。

2.展开Internet信息服务,展开万维网服务,展开安全性,然后选择Windows身份验证。

IIS管理器

  1. 打开IIS管理器,然后导航到要管理的级别。
  2. 在“功能视图”中,双击“身份验证”。
  3. 在“身份验证”页面上,选择“ Windows身份验证”。
  4. 在“操作”窗格中,单击“启用”以使用Windows身份验证。(更多信息)


 类似资料:
  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件:

  • 我试图用注册时使用的凭证登录。Firebase已经有注册用户的条目。每次我试图登录它显示“登录不成功”,我没有看到任何代码问题。请帮帮忙。

  • 如何在iOS8中使用CloudKit实现Sign sign-on? 我知道你可以得到一个代表你的登录用户的字符串,这是你的应用程序唯一的,但是我如何在我的后端验证那个字符串呢? 我明白Apple ID/iCloud电子邮件地址是出于隐私原因而隐藏的。 我的后端是Azure中的ASP.NET Web API2,但如果更简单的话,我可以用另一种技术实现它。 我正在寻找相当于谷歌在Android上的单点

  • 问题内容: 我刚刚安装了SQL Server 2012,并打开了SQL Server Management Studio,当我尝试登录时会出现此问题: 无法连接到… 我的问题是我怎么知道服务器名称是什么? 当我转到SQL Server配置管理器时,我找不到应该存在的SQL Server服务! 有答案吗? 谢谢。 问题答案: 如果安装了SQL Express,则正确的服务器名称是: 或者 如果这样做

  • 问题内容: 我想使用mongoengine db在Django项目中处理身份验证。 我尝试了一些有关此问题的示例,这些问题已在旧问题中得到解答,但并未运行。我正在使用Django 1.6和mongoengine。一切都已安装,运行,并且我可以创建文档并将其保存到Mongoengine DB。 我正在追踪http://mongoengine- odm.readthedocs.org/en/lates

  • 问题内容: 因此,我目前正在运行已安装ldapjs的node.js。 我的目标是拥有一个使用ldapjs的系统,以允许用户使用用户名和密码登录。 我已经阅读了一段时间的http://ldapjs.org文档,但是正在努力理解ldap的整个思想以及ldapjs的实现。 我目前在文档中有这个 这使我可以运行以下内容并成功绑定到服务器。 但是我真的不确定从这里走到哪里,即使这是正确的方法… 理想的设置是