Login on domain met Visual Basic .NET

Pagina: 1
Acties:

  • cvs79
  • Registratie: April 2002
  • Laatst online: 28-08 15:07
Hoi, weet iemand hoe je een form in visual basic .net kan maken dat je Windows Naam en Domain wachtwoord controleert op echtheid.

Met andere woorden is er een functie in visual basic .net die de gebruiker valideert aan de hand van Gebruikersnaam, wachtwoord en Domain.

  • cvs79
  • Registratie: April 2002
  • Laatst online: 28-08 15:07
Bijna,

het is de bedoeling dat een offline applicatie checked of jij als gebruiker lid bent van het domain. Dus je moet een naam en wachtwoord opgeven en als dat goed is start de applicatie op.

De programmeertaal is Visual Basic .Net dus geen VB Script

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 10:04

mulder

ik spuug op het trottoir

Heb je het artikel wel gelezen?

oogjes open, snaveltjes dicht


  • cvs79
  • Registratie: April 2002
  • Laatst online: 28-08 15:07
Don Facundo schreef op 15 november 2002 @ 16:12:
Heb je het artikel wel gelezen?
jazeker, dat artikel gaat over autherisatie met IIS, ik heb nix met IIS te maken en al ook niets met ASP.NET. Zoek ik echt iets voor een offline applicatie geschreven in Visual basic .NET

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 10:04

mulder

ik spuug op het trottoir

Kijk even wat verder en door wat zaken heen: pagina 4 geeft toch wat goede aanknopings punten nl. ASP.NET is grofweg gezegd een html voorkant aan een VB.NET of C# applicatie.

oogjes open, snaveltjes dicht


  • cvs79
  • Registratie: April 2002
  • Laatst online: 28-08 15:07
Don Facundo schreef op 15 November 2002 @ 16:21:
Kijk even wat verder en door wat zaken heen: pagina 4 geeft toch wat goede aanknopings punten nl. ASP.NET is grofweg gezegd een html voorkant aan een VB.NET of C# applicatie.
Ik kan die functies wel aan de praat krijgen maar je krijgt dan alleen maar terug dat je een Domain user bent. Je kunt helemaal geen Naam en wachtwoord en domain naam meegeven.
Ik zoek iets in de richting van SSPI (is het windows Security model)

maar in ieder geval bedankt voor de help tot nu toe

  • rayz
  • Registratie: December 1999
  • Laatst online: 03-11-2025

rayz

 

Onderstaand stukje uit de MSDN

voor het complete artikel (als je de msdn hebt geinstalleerd) Kijken even naar IIdentity (WIndowsIdentity) en IPrincipal.

Success

ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfsystemsecurityprincipalwindowsidentityclassimpersonatetopic.htm

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

The Surf's Up... let's Ride...................


  • rayz
  • Registratie: December 1999
  • Laatst online: 03-11-2025

rayz

 

rayz schreef op 15 November 2002 @ 16:31:
Onderstaand stukje uit de MSDN

ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfsystemsecurityprincipalwindowsidentityclassimpersonatetopic.htm
Dat bedoel ik natuurlijk

The Surf's Up... let's Ride...................


  • cvs79
  • Registratie: April 2002
  • Laatst online: 28-08 15:07
Heb hem nog niet aan de praat maar hartelijk bedankt. Hij doet in ieder geval iets.
Pagina: 1