django的基于ip号码的认证
django_ip_authn的Python项目详细描述
要安装,请将中间件添加到MIDDLEWARE_CLASSES:
'django_ip_authn.authentication.Middleware',
您还需要将身份验证后端添加到 AUTHENTICATION_BACKENDS。这可能已经不存在了。 哪种情况下您需要完整的信息:
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'django_ip_authn.authentication.Authenticate', )
默认情况下,它不会进行身份验证,除非您还添加了IP号 它应该允许:
VALID_IP_NUMBERS = [ '127.0.0.1', '127.0.1.1', # Allow only localhost IP numbers ]
当前它将自动允许ID为1的用户,这是 在django中的初始数据库创建期间创建的用户。
有一个可选的头来确定哪个request.META头 用于获取远程IP号的值。默认为 REMOTE_ADDR。如果您在http路由器后面,可能需要设置 这个发送到类似x-forwarded-for这样的文件:
REMOTE_IP_HEADER='HTTP_X_FORWARDED_FOR'
确保您的http路由器始终设置此设置,否则您将打开 远程客户端绕过IP号码检查的可能性 只是在请求中设置一个头。