![](/img/trans.png)
[英]Windows Identity Impersonation not persisting into Sql Trusted Connection
[英]Windows Impersonation and SQL rights
我已在此问题中使用该技术来模拟对数据库具有管理权限的Windows用户。 我认为这将允许进程更改表等(如果我以该人的身份登录,则可以更改该表)。 我的连接字符串使用IntegratedSecurity
并在提示用户输入db admin用户名和密码后,我模拟了该用户,然后重新连接到数据库。 我以为这将允许我创建表等,但是没有...
要给我的程序(临时)数据库管理员权限,我还需要做些其他事情吗?
我已经尝试使用EXECUTE AS LOGIN = @user
,但这并不EXECUTE AS LOGIN = @user
-也许我还需要向SQL提供密码才能使它正常工作吗?
您可能对连接池有问题。 当一个进程关闭一个连接时,该连接实际上并没有关闭,而是进入了进程的连接池。 下次该进程尝试打开连接时,如果池中的该连接具有与所请求的新连接相同的连接字符串,它将从该池中获得一个连接。 因此,您可能根本不会获得新的连接,而是已经与原始打开程序的身份验证一起打开的连接。
我能看到的唯一解决方法是为管理员用户使用不同的连接字符串:添加或删除没有区别的子句(例如“ MARS Connection = true”或类似内容)。 那应该工作。
干杯-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.