我们有一个Python Flask应用程序托管在IIS 8上,并打开了Windows 身份验证。
此 IIS 应用程序的ApplicationPool已将Identity设置为Custom Account。比如说,
super_usr
此帐户对其要访问的SQL Server数据库具有SQL 授权。
假设某个本地用户正在尝试访问 Flask 应用程序。
local_usr
Flask 应用程序能够使用
request.environ['REMOTE_USER']
PyODBC 用于连接数据库的方式是它使用
TrustedConnection=yes
作为 SQL 连接字符串的一部分。
DRIVER={SQL Server};SERVER=XYZ;PORT=123;Trusted_Connection=yes;
因此 PyODBC 在super_usr而不是local_usr的上下文中打开连接,因为 IIS 有super_usr运行服务器。
现在我们正在寻找一种方法,以便 PyODBC 作为 local_usr 打开连接。我们不想向local_usr询问他们的密码并保持Windows 身份验证。
这是为了对 Windows Authenticated User [ local_usr ] 而不是在 IIS 应用程序池 [ super_usr ] 上运行的帐户进行 SQL 授权。
当 SQL Server 不在同一个框上时,IIS 中是否有办法授权经过身份验证的用户而不是将某个帐户传递给应用程序池标识?
有没有人遇到过这个问题?如果是的话,解决这个问题的理想方法是什么?
提前致谢。