在C#上登录后注销

Ben*_*307 5 .net c# impersonation dllimport advapi32

我使用advapi32.dll的logonuser方法通过我们的网络访问数据.
我知道它将线程的用户改为我给它的信息,但我想知道是否有办法扭转它.
我想访问数据,然后返回本地用户凭据.

Uwe*_*eim 7

前段时间我创建了一个小模仿课程.

基本上你将代码包装在一个using块内的另一个用户下执行 :

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   ...

   <code that executes under the new context>

   ...
}
Run Code Online (Sandbox Code Playgroud)

为我的项目工作得很好.

  • 您应该在此处添加代码。当可以提供源代码时,答案应该是独立的(考虑到该类有多小,它可能可以)。 (2认同)
  • 我只是喜欢源代码就这样。没有要对抗你的意思:) (2认同)
  • 在这种情况下,@ Merlyn的答案要好得多,因为代码项目中的代码包含多个文件,附带了一篇好文章.我赞成这个答案. (2认同)
  • 我纠正了,伙计们。很好的答案,给你点赞,Uwe。 (2认同)