【发布时间】:2008-09-25 00:04:56
【问题描述】:
我的 DBA 要求通过受信任的域帐户完成所有数据库访问。如果您设置 web.config ,则可以做到这一点。这要求用户登录或在域上,以便 IE 传递凭据。我想通过使用代码来模拟用户。我正在使用这篇知识库文章中的代码:
http://support.microsoft.com/kb/306158
效果很好,我传入凭据,模拟用户,然后调用数据库并返回数据。
问题是如果我转到另一个页面,我会丢失我的模拟凭据。这意味着每次我调用数据库时,我都必须运行模拟代码。
如果 IIS 可以为所有页面模拟域用户,那么为什么我在使用代码时不能模拟用户?
这似乎与线程上下文切换有关。我尝试在 Aspnet.config 文件中设置 alwaysFlowImpersonatingPolicy,但没有成功。
http://msdn.microsoft.com/en-us/library/ms229553.aspx
有什么建议吗?甚至可以做我想做的事吗?
【问题讨论】:
-
“问题是如果我转到另一个页面” ..这是否意味着这是一个新页面请求。 iis 可能使用池中的不同线程来执行新页面,它不会有任何旧的上下文信息..
-
对this question有帮助吗?
标签: asp.net database-connection