Re: how to pass nt password ?
- From: "James" <jkklim@xxxxxxxxxxx>
- Date: Fri, 18 Nov 2005 11:04:38 +0800
Perhaps i will explain more.
I run this service monitor application as a thread. Put as eg.
a) i logon in xp, run the service locally on xp1 local machine.
b) my application will read a list of machines files eg xp1, xp2, xp3, etc
c) the service application will generate thread pools every x seconds and
reach out to other machines having similar services and check whether it is
started.
d) if not started on machine xp2 or xp3, it will attempt to start on remote
machines.
e) to start service on remote machines, it needs to impersonate. Thus i used
the function - logonuser described below.
f) the logonuser fucntion requires username, domain and password. I can
extract username and domain, but i want my password which i logon on xp1 to
impersonate on xp2 or xp3 to start the xp2 or xp2 services.
Hope this explains why i want to pass my "password" onto other machines to
impersonate.
U see, all msdn documentations expect user to enter username, domain and
password to impersonate. I can do it at my application, but because it is
running as a service, it shld NOT ask user for password.
"Micky" <micky@xxxxxxxxxx> wrote in message
news:dlh7h0$42i$1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> "James" <jkklim@xxxxxxxxxxx> wrote in message
> news:eqL%23lpz6FHA.1416@xxxxxxxxxxxxxxxxxxxxxxx
>>I succesfully pass username , domain and password via this function (taken
>>from MSDN)
>>
>> Private Declare Auto Function LogonUser Lib "advapi32.dll" (ByVal
>> lpszUsername As [String], _
>>
>> ByVal lpszDomain As [String], ByVal lpszPassword As [String], _
>>
>> ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, _
>>
>> ByRef phToken As IntPtr) As Boolean
>>
>> Dim returnValue As Boolean = LogonUser(username, domain, pwd,
>> LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, tokenHandle)
>>
>> The above assumes that in the application, user will be required to enter
>> username, domain and password via keyboard
>>
>> However i do NOT want the application to ASK user for the username,domain
>> and password. Instead the application shld use the current user context
>> since users already logon to a operating system eg XP.
>>
>> i can extract username and domain using the WindowsIdentity.Name Property
>> which give it as domain\nt id, and then i pass to above function in
>> username, domain.
>>
>> How do i extract password ? I know password cannot be seen, but at least
>> what can i do to pass the current password arguments into the above
>> function - logonuser ?
>
> The user is already logged on, so why would you want them to logon to
> your program using the self same credentials? Your program should
> simply run in user context (indeed, it should be tested on an account
> with the minimum credentials required to operate). If your program
> requires elevated privileges then the USER must provide the required
> credentials, NOT your program. Bypassing the built-in security (such
> as it is) is not an option if you want your application to remain
> compliant.
>
>
.
- Follow-Ups:
- Re: how to pass nt password ?
- From: Micky
- Re: how to pass nt password ?
- References:
- how to pass nt password ?
- From: James
- Re: how to pass nt password ?
- From: Micky
- how to pass nt password ?
- Prev by Date: Re: PE or exe? tmpPE?
- Next by Date: Re: Using a class in VB.NET
- Previous by thread: Re: how to pass nt password ?
- Next by thread: Re: how to pass nt password ?
- Index(es):
Relevant Pages
|