Gå til innhold

Anbefalte innlegg

Hei

 

Jeg benytter meg av LogOnUser metoden i Windows for å hente en windowsbruker.

 

Når en bruker logger som innpå hjemmesiden, skal den tilknyttes en bruker på windows, etter hvor mye tilgang de skal ha.

 

Problemet er at jeg ikke får tilknyttet den brukeren jeg henter med logOnUser metoden, mot den brukeren som IIS kjører. Det med fører at brukeren får en dialogboks opp, hvor han må taste inn brukernavn og passord til windows identen, som jeg allerede har hentet ved hjelp av logOnUser.

 


Public Class NTAccess

  Const LOGON32_PROVIDER_DEFAULT As Integer = 0

   Const LOGON32_LOGON_INTERACTIVE As Integer = 2

   Public Function setNTLogOn(ByVal NTusername As String, ByVal NTpassword As String, ByVal h As HttpContext) As Boolean

       Try
           'instanciates a access token

           Dim tokenHandle As New IntPtr(5)

           Dim errorCode As Integer

           'tries to log on user on NT and gets the access token 

           Dim loggedOn As Integer = LogonUser(NTusername, ConfigurationSettings.AppSettings("Domain"), NTpassword, 2, 0, tokenHandle)

           'if logonUser failed

           If loggedOn = 0 Then

               errorCode = GetLastError()

               Return False

           End If

           'creates a new Windows Identity object with the access token

           Dim wi As WindowsIdentity = New WindowsIdentity(tokenHandle)

           Dim wp As WindowsPrincipal = New WindowsPrincipal(wi)

           HttpContext.Current.User = wp



           Return True

       Catch ex As Exception



       End Try

   End Function



   'This function is an API call to Windows OS, returns a access token.

   <DllImport("advapi32.dll")> _

   Private Shared Function LogonUser(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 Integer

   End Function



   'This method returns a integer which represent an error 

   <DllImport("Kernel32.dll")> _

   Private Shared Function GetLastError() As Integer



   End Function

End Class   

 

Noen som vet hvordan jeg får tilknyttet den brukeren jeg har hentet ved logOnUser metoden og knyttet den mot den brukeren som IIS benytter?

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...