Когда я использую WindowsIdentity Олицетворение вроде этого:C# WindowsIdentity Олицетворение Не работает
WindowsIdentity newId = null;
WindowsImpersonationContext impersonatedUser = null;
Console.WriteLine("Name of the identity BEFORE impersonation: "
+ WindowsIdentity.GetCurrent().Name + ".");
newId = new WindowsIdentity(_impersonationToken);
impersonatedUser = newId.Impersonate();
Console.WriteLine("Name of the identity AFTER impersonation: "
+ WindowsIdentity.GetCurrent().Name + ".");
(Это используется для копирования файлов с компьютера на WinCE машине.)
Имя До и имя после продолжайте возвращать то же самое. Когда я смотрю @ newId Token после олицетворения, это не то же самое, что я использую для олицетворения. Токен, который я олицетворяю, ОПРЕДЕЛЕН, не тот же пользователь, что и тот, с которым я вошел.
У кого-нибудь есть предложения по поводу того, почему он не хочет использовать мой токен? (вл да, вчера он работал как шарм: с)
Это, как я генерировать свою фишку:
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword,
int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
LogonUser(Username, IPMachine, Password,
LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT,
ref _token);
Это даст Преуспевающий логическое значение, так что нет ничего плохого в мой знак я думаю
Считайте это? – eych
Я получил эту работу, но я не могу вспомнить, как я это сделал, извините, матушка ... – Zarkos