C# 拒绝访问模拟当前用户访问网络文件夹
正在尝试列出特定文件夹中的目录和文件。此文件夹将取决于通过Windows身份验证(NTLM)登录并从Active Directory(C# 拒绝访问模拟当前用户访问网络文件夹,c#,asp.net,.net,impersonation,delegation,C#,Asp.net,.net,Impersonation,Delegation,正在尝试列出特定文件夹中的目录和文件。此文件夹将取决于通过Windows身份验证(NTLM)登录并从Active Directory(homedirectory属性)检索的当前用户(Page.user) 我正在使用一个域用户访问广告和检索文件夹位置,这很好 失败的是使用System.IO.DirectoryInfo.GetDirectories()检索子文件夹,即使使用模拟也是如此 以下是我用于模拟的代码: System.Security.Principal.WindowsImpersonati
homedirectory
属性)检索的当前用户(Page.user)
我正在使用一个域用户访问广告和检索文件夹位置,这很好
失败的是使用System.IO.DirectoryInfo.GetDirectories()
检索子文件夹,即使使用模拟也是如此
以下是我用于模拟的代码:
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
我已检查被模拟的用户是否有权访问该文件夹
从我目前发现的情况来看,似乎我需要设置委派或Kerberos身份验证,这是真的吗?这些是实现这一目标的唯一途径吗?模拟还不够吗?模拟允许网站服务帐户模拟(假装)该计算机上的另一个用户。因此,可以查询广告以查看您(或模拟用户)拥有哪些权限 请求访问另一台计算机上的UNC共享就是请求另一台计算机接受网站服务帐户代表被模拟的用户。这是授权。另一台计算机不是检查用户凭据本身,而是将该检查委托给Web服务器 如果客户机正在从另一台机器(通常是Web服务器)连接网站,那么从客户机到Web服务器再到UNC文件服务器有一个“双跳”
我建议您需要配置Kerberos(通过SetSPN实用程序),并查看是否为网站服务帐户(witihin AD用户和计算机)启用委派权限。如果您在设置时遇到问题,我衷心推荐一个名为的工具 你在以前的投递中检查过这个吗。。?