Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模拟为登录的Windows用户,但不提供密码c#_C#_Asp.net_Security_Iis_Impersonation - Fatal编程技术网

模拟为登录的Windows用户,但不提供密码c#

模拟为登录的Windows用户,但不提供密码c#,c#,asp.net,security,iis,impersonation,C#,Asp.net,Security,Iis,Impersonation,我托管了一个web服务,它将附件上载到用户可以访问的特定物理服务器上。例如:-如果user1登录,它将在C:\Folders\user1(myattachements)中上载文档。如果user2登录,它将在C:\Folders\user2(myattachements)中上载文档。User1将无权访问user2路径。因为我的web服务是在ApplicationPoolIdentity下运行的,所以我需要模拟为已登录的windows用户。是否可以在登录的Windows用户不提供密码的情况下运行We

我托管了一个web服务,它将附件上载到用户可以访问的特定物理服务器上。例如:-如果user1登录,它将在C:\Folders\user1(myattachements)中上载文档。如果user2登录,它将在C:\Folders\user2(myattachements)中上载文档。User1将无权访问user2路径。因为我的web服务是在ApplicationPoolIdentity下运行的,所以我需要模拟为已登录的windows用户。是否可以在登录的Windows用户不提供密码的情况下运行Web服务。请帮忙做这件事。。提前感谢

您可以更改IIS用于应用程序池的标识,这是您的最佳选择。或者,您可以授予ApplicationPoolIdentity对您尝试将文件写入的文件夹的访问权限。

Web服务在应用程序池下运行,因为它托管在IIS中,并且此应用程序池在特定标识下运行。Identity user可以是管理员用户,并且可以基于权限访问服务器资源。User1或User2是此web服务的使用者。访问和权限取决于ApplicationPoolIdentity,而不是User1或User2。

Hi Matti-感谢您的回复。这是一个限制,即我不能访问承载web服务的IIS。因此,在上传文档时,我需要以登录windows用户的身份进行模拟。请建议,如果你有任何其他选择这..嗨,Sudipta-对不起,我的理解可能是错误的。。您能否告诉我,我是否可以在不询问密码的情况下模拟windows登录用户…不,您不能-这是一项服务,托管在IIS中,因此所有服务器资源访问都取决于ApplicationPoolIdentity。User1或User2只是一个使用者,无法直接访问服务器中的任何内容。我认为您应该采用不同的方法,在上载文件和应用程序时使用用户id(如果可用)构建文件夹路径PoolIdentity是一种可以访问所有文件夹的超级用户。下载文件时要检查的用户访问权限。Windows身份验证?是否启用模拟?所有用户都可以写入C:\文件夹?