您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

当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身份验证。

Go 2022/1/1 18:29:09 有320人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶