开发者

How can I detect where kerberos authentication delays are occurring when impersonating a user?

In an application that impersonates another domain user for file system access, we're experiencing a 2 second delay from when WindowsIdentity.Impersonate is called to when the authentication for that user is actually done. This is only reproducible on the production machine (Windows Server 2008), not on our development machines (Windows 7). We verified that the delay happens before Kerberos authentication takes place by analyzing network traffic using Wireshark - the authentication only takes a fraction of the time, while the delay occurs beforehand.

What tools exist that will help to pinpoint the exact location/cause 开发者_如何转开发of this delay? Thanks!

Breakthrough: This only happens in a 64-bit process running on the production machine (the same code base compiled targeting x86 runs with no delays on production). But why? More research...

(Additional information will be added as it becomes relevant).


If you are not already using them, you'd almost certainly benefit from some of the tools in the Windows SysInternals suite of tools. Process Monitor might be a good start. The basic idea is to trace what Windows and your application are doing and see what turns up.

Have you attached a debugger to the process?

The other thing to do is to identify other differences between the production and development machines. Are there different versions of libraries in use? What about configuration? If you have a backup of your production server, can you recreate the problem there?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜