【问题标题】:How long does ASP.NET impersonation last?ASP.NET 模拟持续多长时间?
【发布时间】:2012-03-14 13:59:56
【问题描述】:

在我的登录页面中,我模拟了登录用户。用户在 AD 中有一个帐户,我的连接字符串中有 Integrated Security = true。这样,用户应该可以访问数据库。

我在登录页面中使用下面的代码进行模拟

...
tempWindowsIdentity = New WindowsIdentity(tokenDuplicate)
impersonationContext = tempWindowsIdentity.Impersonate()

这种模拟会持续到用户会话结束吗?该应用程序调用了其他几个项目 dll,这些 dll 也调用了 DB,以及另一个服务器上的 Web 服务,它访问了相同的 DB。

如果不需要,我需要多久拨打一次假冒电话?整个过程中进行了大量的数据库调用。

换句话说,
我需要启用匿名访问的表单身份验证,以便我可以显示我的登录屏幕,但我还需要在整个应用程序中模拟用户的 AD 身份(最好只设置一次)

【问题讨论】:

    标签: asp.net iis impersonation


    【解决方案1】:

    http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

    根据上面的内容,冒充与线程一起持续。由于 asp.net 对每个请求使用不同的线程,因此您必须经常重新模拟。

    【讨论】:

    猜你喜欢
    • 2012-03-26
    • 1970-01-01
    • 2018-04-26
    • 2017-05-15
    • 2021-02-12
    • 2010-12-03
    • 2011-06-06
    • 1970-01-01
    相关资源
    最近更新 更多