Re: impersonate user in windows forms
- From: "scorpion53061" <scorpion_53061@xxxxxxxxxxxxxxxxxxx>
- Date: Wed, 4 May 2005 14:56:01 +0000
I don't know what to tell you.
Maybe something is wrong with your computer?
"RTT" <RTT@xxxxxxxxxx> wrote in message news:RTT@xxxxxxxxxx:
nice...
but he give the error that he can't find the specified modules... but when i look they are in the folder specified...
<DllImport("C:\\WINNT\system32\\ADVAPI32.DLL")>
but the file does exist. any ideas?
thxs in advance
"scorpion53061" <scorpion_53061@xxxxxxxxxxxxxxxxxxx> wrote in message news:%235MFBfJUFHA.840@xxxxxxxxxxxxxxxxxxxxxxx > The following example demonstrates how to impersonate a user and then > revert > to the original identity. > [Visual Basic] > Imports System > Imports System.Runtime.InteropServices > Imports System.Security.Principal > Imports System.Security.Permissions > > <Assembly:SecurityPermissionAttribute(SecurityAction.RequestMinimum, > UnmanagedCode := true)> > Public Class Impersonation > > <DllImport("C:\\WINNT\\System32\\advapi32.dll")> _ > Public Shared Function LogonUser(lpszUsername As String, lpszDomain As > String, lpszPassword As String, _ > dwLogonType As Integer, dwLogonProvider As Integer, ByRef > phToken As Integer) As Boolean > End Function > > <DllImport("C:\\WINNT\\System32\\Kernel32.dll")> _ > Public Shared Function GetLastError() As Integer > End Function > > Public Shared Sub Main(args() As String) > > 'The Windows NT user token. > Dim token1 As Integer > > 'Get the user token for the specified user, machine, and password > using the unmanaged LogonUser method. > > 'The parameters for LogonUser are the user name, computer name, > password, > 'Logon type (LOGON32_LOGON_NETWORK_CLEARTEXT), Logon provider > (LOGON32_PROVIDER_DEFAULT), > 'and user token. > Dim loggedOn As Boolean = LogonUser("bob", "AARDVARK", "coffee", 3, 0, > token1) > Console.WriteLine("LogonUser called") > > 'Call GetLastError to try to determine why logon failed if it did not > succeed. > Dim ret As Integer = GetLastError() > > Console.WriteLine("LogonUser Success? " + loggedOn) > Console.WriteLine("NT Token Value: " + token1) > If ret <> 0 Then > Console.WriteLine("Error code (126 == ""Specified module could not > be found""): " + ret) > End If > > 'Starting impersonation here: > Console.WriteLine("Before impersonation:") > Dim mWI1 As WindowsIdentity = WindowsIdentity.GetCurrent() > Console.WriteLine(mWI1.Name) > Console.WriteLine(mWI1.Token) > > Dim token2 As IntPtr = new IntPtr(token1) > > Console.WriteLine("New identity created:") > Dim mWI2 As WindowsIdentity = new WindowsIdentity(token2) > Console.WriteLine(mWI2.Name) > Console.WriteLine(mWI2.Token) > > 'Impersonate the user. > Dim mWIC As WindowsImpersonationContext = mWI2.Impersonate() > > Console.WriteLine("After impersonation:") > Dim mWI3 As WindowsIdentity = WindowsIdentity.GetCurrent() > Console.WriteLine(mWI3.Name) > Console.WriteLine(mWI3.Token) > > 'Revert to previous identity. > mWIC.Undo() > > Console.WriteLine("After impersonation is reverted:") > Dim mWI4 As WindowsIdentity = WindowsIdentity.GetCurrent() > Console.WriteLine(mWI4.Name) > Console.WriteLine(mWI4.Token) > End Sub > End Class > > "RTT" <RTT@xxxxxxxxxx> wrote in message news:RTT@xxxxxxxxxx: > > i'm writing a windows form but codebased a iwant to run the code as > > a > > different user. > > > > like in a webapplication you can impersonate a user so the website > > does > > not > > run on the standard ASP.NET user. > > > > is it possible to do the same for a windows form and define a user > > codebased > > and run the code like that user is running the application. >
.
- References:
- Re: impersonate user in windows forms
- From: RTT
- Re: impersonate user in windows forms
- Prev by Date: I need a tip for socket disconnection issue.
- Next by Date: WebProjectCacheDirectory ??
- Previous by thread: Re: impersonate user in windows forms
- Next by thread: Re: impersonate user in windows forms
- Index(es):
Relevant Pages
|