[英]Impersonation in asp.net not shared with com object
因此,我有一个ASP DOT NET Web服务,该服务需要模拟Windows Authenticated用户。 该Web服务调用Com Api来执行数据库操作。
模仿似乎并没有持续存在于Com Api中。 这是因为Com DLL被加载到其自己的内存空间中并被视为一个单独的进程吗? 还有什么方法可以解决此问题,并将模拟继续保存到Com Api Dll?
此时,不能将Com Api的功能移入点网代码。 Com Api也是用C ++编写的。
所以我解决了这个问题。 Com对象被加载到其自己的线程中,而模仿方式的设置是线程级别。 由于我控制了Com对象,因此添加了Windows函数CoImpersonateClient();。 在需要模拟的任何代码之前,都可以做到这一点。
这是我终于找到解决问题的文章:
http://support.microsoft.com/default.aspx?scid=kb;zh-CN;Q325791
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.