Click here to Skip to main content
15,922,419 members
Home / Discussions / C#
   

C#

 
GeneralRe: const v readonly Pin
pseudonym672-Oct-03 12:05
pseudonym672-Oct-03 12:05 
GeneralRe: const v readonly Pin
leppie2-Oct-03 12:48
leppie2-Oct-03 12:48 
GeneralRe: const v readonly Pin
Daniel Turini3-Oct-03 10:34
Daniel Turini3-Oct-03 10:34 
GeneralRe: const v readonly Pin
James T. Johnson3-Oct-03 20:20
James T. Johnson3-Oct-03 20:20 
GeneralBitmap/Image size limitations Pin
SpinD2-Oct-03 6:26
SpinD2-Oct-03 6:26 
GeneralRe: Bitmap/Image size limitations Pin
Blake Coverett2-Oct-03 9:02
Blake Coverett2-Oct-03 9:02 
QuestionCOM ports in C# ? Pin
raheela2-Oct-03 6:00
raheela2-Oct-03 6:00 
AnswerRe: COM ports in C# ? Pin
James T. Johnson3-Oct-03 20:23
James T. Johnson3-Oct-03 20:23 
GeneralTroubleShotting working with Data Set Pin
Om@r2-Oct-03 5:31
Om@r2-Oct-03 5:31 
GeneralRe: TroubleShotting working with Data Set Pin
STW2-Oct-03 22:45
STW2-Oct-03 22:45 
GeneralRe: TroubleShotting working with Data Set Pin
Om@r3-Oct-03 3:20
Om@r3-Oct-03 3:20 
GeneralRe: TroubleShotting working with Data Set Pin
STW3-Oct-03 4:17
STW3-Oct-03 4:17 
GeneralRe: TroubleShotting working with Data Set Pin
Om@r3-Oct-03 4:23
Om@r3-Oct-03 4:23 
GeneralRe: TroubleShotting working with Data Set Pin
STW3-Oct-03 7:17
STW3-Oct-03 7:17 
GeneralRe: TroubleShotting working with Data Set Pin
Om@r4-Oct-03 13:52
Om@r4-Oct-03 13:52 
GeneralRe: TroubleShotting working with Data Set Pin
STW4-Oct-03 23:07
STW4-Oct-03 23:07 
GeneralLogonUser and Interop problem Pin
devvvy2-Oct-03 4:49
devvvy2-Oct-03 4:49 
GeneralRe: LogonUser and Interop problem Pin
devvvy2-Oct-03 5:39
devvvy2-Oct-03 5:39 
I invoked LoadUserProfile before call LogonUser - it failed to solve the problem. GetLastError still returns error 203 after LogonUser.

Here's how I did it:
//MSDN Sample: http://msdn.microsoft.com/vstudio/using/understand/interop/default.aspx?pull=/library/en-us/dnnetsec/html/SecNetHT13.asp
const int SecurityImpersonation = 2;
IntPtr dupeTokenHandle = DupeToken(
WindowsIdentity.GetCurrent().Token,
SecurityImpersonation); //CAUTION: Current user is different from the user I wish to impersonate.
if(IntPtr.Zero == dupeTokenHandle)
{
Console.WriteLine("Unable to duplicate token.");
}

PROFILEINFO profile = new PROFILEINFO();
profile.dwSize = 32;
profile.lpUserName = "AA02\\CustomAppUser";
bool retval = LoadUserProfile(dupeTokenHandle, ref profile);
if(retval==false)
{
Console.WriteLine("LoadUserProfile failed. Error code: " + Marshal.GetLastWin32Error());
return;
}

bool loggedOn = LogonUser(
"CustomAppUser", //Username
"AA02", //Computer name
"customappuser", //Passwd (Remember, this is case-sensitive.)
3, //Logon type = LOGON32_LOGON_NETWORK_CLEARTEXT.
0, //Logon provider = LOGON32_PROVIDER_DEFAULT.
out token //token for the specified user.
);
int ret = GetLastError();
if(ret!=0)
{
Console.WriteLine("Impersonation error. Error code: " + ret.ToString());
return;
}

It seems to me that you don't need to call LoadUserProfile prior to calling LogonUser - am I right? But what else can be the problem?

THanks!

norm
GeneralRe: LogonUser and Interop problem Pin
devvvy2-Oct-03 6:29
devvvy2-Oct-03 6:29 
GeneralDecoding SNMP Packets Pin
MrEyes2-Oct-03 3:56
MrEyes2-Oct-03 3:56 
GeneralThreadPool and COM Interop Pin
DuaneP2-Oct-03 2:17
DuaneP2-Oct-03 2:17 
GeneralRe: ThreadPool and COM Interop Pin
DuaneP2-Oct-03 11:01
DuaneP2-Oct-03 11:01 
GeneralIsInRole Pin
devvvy2-Oct-03 1:35
devvvy2-Oct-03 1:35 
GeneralRe: IsInRole Pin
Julian Bucknall [MSFT]2-Oct-03 6:05
Julian Bucknall [MSFT]2-Oct-03 6:05 
GeneralRe: IsInRole Pin
devvvy2-Oct-03 6:25
devvvy2-Oct-03 6:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.