我一直在尝试在c#应用程序上实施模拟,以将文件保存在NAS驱动器上,但是即使我的凭据有效。我不断收到错误消息,因为用户名或密码不正确。它工作了几次,然后一直失败。当我在IIS上部署它时,就会发生这种情况。
if (RevertToSelf())
{
if (LogonUser(AppConstants.NASAccessUserName, AppConstants.NASServerDomain,
AppConstants.NASAccessPassword, LogonType.Interactive,
LogonProvider.Default, out _token))
{
if (DuplicateToken(_token, SecurityImpersonationLevel.Impersonation, out _tokenDuplicate))
{
var tempWindowsIdentity = new WindowsIdentity(_tokenDuplicate);
_impersonationContext = tempWindowsIdentity.Impersonate();
return true;
}
throw new Win32Exception(Marshal.GetLastWin32Error());
}
throw new Win32Exception(Marshal.GetLastWin32Error());
}
throw new Win32Exception(Marshal.GetLastWin32Error());
我也尝试过将LOGON32_LOGON_NEW_CREDENTIALS与LOGON32_PROVIDER_WINNT50一起用作登录类型,但是没有运气。我在这里想念什么? NAS服务器上有任何配置吗?或其他要添加的内容?
答案 0 :(得分:0)
将此保存在您的配置文件中吗?
<identity impersonate="true" />