我希望管理员用户登录或不登录nginx.conf
文件
我需要这个用于我的具体要求。
我的尝试:
I tried to fetch COOKIES into nginx.conf file. but when admin is logged out so cookies are changed so i am not able figure out that if a admin is logged in or not.
答案 0 :(得分:0)
据我所知,这是不可能的。
Django默认使用加密的cookie,并将所有数据存储在数据库中的会话表中(也是加密的)。您可以检查用户是否在nginx中设置了cookie,但您无法验证该cookie值是否实际上意味着“管理员”或“随机的其他cookie值”。
此外,除非您使用自定义nginx模块来检查cookie的内容,否则您可能会冒险让nginx认为用户是管理员,而不是这种情况。
我不确定这里的用例是什么,但您可以尝试使用django中间件或寻找第三方插件而不是使用nginx。
如果要限制对特定文件的文件访问权限,例如仅限管理员的图片/ javascript /数据文件,您可以尝试使用HttpAccessKeyModule获取Nginx,只需为管理员生成自定义“网址”即可访问它们。
您还可以尝试查看:http://nginx.org/en/docs/http/ngx_http_auth_request_module.html并查看将支票委托给Django的某些部分,该部分只返回yes或No给nginx。
可能会有另一个nginx插件可以在django中为管理员用户添加/启用。但这需要你反思。随着django告诉nginx,用户是管理员。而不是nginx找到它自己。
希望这会以某种方式帮助你。