我们有一个.net网络应用程序。 Web应用程序在IIS中设置,并在AppPool下运行,该AppPool在Domain \ User1
下运行此Web应用程序具有C#.NET代码,可以访问服务器上的文件。 问题是只有Domain \ User2才有权使用此文件进行读取/编辑。
我们知道.NET代码将在AppPool帐户的凭据下运行(即:Domain \ User1)。因此,如果我们尝试在Web应用程序的.NET代码中读/写文件,那么它将抛出错误。
我可以使用哪些可能的方法来访问此文件? 我不允许根据公司政策更改AppPool用户。如果这是可能的,那么代码可以访问/写入文件。此外,由于公司政策,我无法更改文件的权限并允许Domain \ User2再次访问该文件。
我还有其他选择吗?
我是否可以通过.NET代码仅将文件读/写部分代码作为Domain \ User2运行?
答案 0 :(得分:4)
模拟不适用于您的情况,因为您“允许访问作为第一个用户运行的asp.net,并且您表明这是公司政策禁止的。解决方案有两个:
另一种方法是设置一个用户无权访问的服务帐户,并使用该帐户访问相关文件。
答案 1 :(得分:3)
您是否考虑过为文件上传/下载编写服务?它可以在只有Domain \ User2有权访问文件的服务器上运行。
答案 2 :(得分:1)
最好能够使用Windows身份验证'在IIS中,这将帮助您在Web应用程序中访问WindowAccount。您还可以限制用户对UserGroup,用户类型等的尊重