使用 os.getlogin() 获取用户身份时返回应用池名称怎么办?
Windows 上部署 Python Django 网站时的用户身份问题
在 Python 3.6、Django 和 WFastCGI 下部署到 Windows 2008 时,遇到使用 os.getlogin() 获取登录用户身份返回的是应用池名称的问题。针对此问题,有以下解决思路:
对于使用 Windows 验证登录的用户,Windows 访问控制列表 (ACL) 会限制 os.getlogin() 的访问权限,导致返回应用池名称。要解决此问题,需要在 IIS 中设置 Web 应用程序的用户身份,以允许适当的用户访问。
以下步骤可解决此问题:
- 在 IIS 管理器中,导航到部署 Django 网站的应用程序池。
- 右键单击应用程序池,然后选择“高级设置”。
- 在“身份”部分中,选择“特定用户”选项。
- 输入要使用其身份运行该应用程序的用户名称和密码。
- 单击“确定”保存更改。
经过这些设置后,os.getlogin() 将返回登录用户名称,解决身份问题。
以上就是使用 os.getlogin() 获取用户身份时返回应用池名称怎么办?的详细内容,更多请关注其它相关文章!