Avatar billede sparkl Nybegynder
27. oktober 2003 - 10:47 Der er 1 løsning

Authentication mellem domæner

Hej

Jeg er løbet mod en mur i forbindelse med, at jeg ønsker min webapplikation til at skrive til et share på en anden server. Problemet er at maskinerne står på forskellige domæner og ikke kender noget til hinandens brugere. Jeg har forgæves forsøgt at bruge impersonation, og kan desværre ikke bruge ftp.
Det enste der er lykkedes for mig, er at få webapplikationen til at skrive til sharet når den afvikles lokalt under en bruger profil der har et predifineret drev der pejer på sharet.
Jeg vil helst undgå at skulle bruge en løsning hvor jeg synkroniserer to foldere, men umiddlebart er det den eneste løsning jeg kan få øje på.

Hvis der er nogen der har en ide til hvordan jeg kan løse problemet vil jeg meget gerne høre den... :)

Mvh.
Christian
Avatar billede jettes Nybegynder
28. oktober 2003 - 09:22 #1
Nedenstående kode til kopiering af en fil fra en server til en anden, har jeg set virke.

Hvis du skal hente filen fra clienten, er det dog en anden snak. Dette virker til kopiering mellem servere (webserver - filserver).

Måske skal du benytte notationen \\10.20.30.40\share\directory i stedet for \\server\share\directory, hvis ikke serveren er kendt på NetBios (server-) navnet.

Imports System.Security.Principal
Imports System.IO


  ' -- VARIABLER TIL AT IMPERSONATE --
    Public LOGON32_LOGON_INTERACTIVE As Integer = 2
    Public LOGON32_PROVIDER_DEFAULT As Integer = 0
    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 Integer
    Declare Auto Function DuplicateToken Lib "advapi32.dll" (ByVal ExistingTokenHandle As IntPtr, ByVal ImpersonationLevel As Integer, ByRef DuplicateTokenHandle As IntPtr) As Integer
    Public impersonationContext As WindowsImpersonationContext
    Public currentWindowsIdentity As WindowsIdentity



  Dim strFrom, strTo As String
        'Skifter identitet til imp_user med password imp_pass   
            If impersonateValidUser(imp_user, "", imp_pass) Then
                Try

                    'Kopierer fra strFrom til strTo
                    strFrom = "..."
                    strTo = "......."


                    File.Copy(strFrom, strTo, True)

                Catch
                    undoImpersonation()

                    lblError.text = "Source: " & strFrom & " Destination: " & strTo & " " & Err.Description
                    Exit Sub
                End Try
                undoImpersonation()
            Else
                lblError.text = "ErrorMsg.aspx?txt=Error Impersonating."
                Exit Sub
            End If
            '-----------------------------------------------------------------

            '------- KONTROLLER AT DOKUMENTET FINDES PÅ  DEN NY SERVER -----------
            If Not File.Exists(strTo) Then
                lblError.Text = "Error copying from " & strFrom & " to " & strTo
                Exit Sub
            End If
            '-----------------------------------------------------------------
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester