Imprimir com delegação ou mais de um salto no Kerberos? Completamente perdid

Meu problema aqui é como lidar com a segurança e uma implementação adequada de representação que funcionará a partir de uma máquina cliente e se autenticará corretamente no meu servidor IIS que passa o tíquete de representação ainda válido junto com a solicitação LDA

@My System é um servidor independente em execução na intranet da minha empresa que hospeda o controlador de domínio, o servidor LDAP, etc., e usa o protocolo Kerbero

Informações do sistema: IIS7 com autenticação do Windows e representação no Windows 7 x64 Informações de rede: IIS 6, LDAP, Kerberos

qui está o meu método VB.NE

Protected FirstName, LastName, EMail As String
Protected Sub Lookup(ByVal UserName As String)
    UserName = Trim(UserName)
    UserName = Replace(UserName, "\", "/")
    UserName = Right(UserName, Len(UserName) - InStr(1, UserName, "/"))

    Using (Hosting.HostingEnvironment.Impersonate) 'ADDED
        Dim directoryEntry As New DirectoryEntry("LDAP://dl/DC=dl,DC=net")
        'directoryEntry.AuthenticationType = AuthenticationTypes.Delegation 'REMOVED

        Dim ds As New DirectorySearcher(directoryEntry)
        Dim r As SearchResult
        Try
            ds.PropertiesToLoad.Add("givenName") 'First Name
            ds.PropertiesToLoad.Add("sn")        'Last Name
            ds.PropertiesToLoad.Add("mail")      'Email

            ds.Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=" & UserName & "))"
            r = ds.FindOne 'Query LDAP; find record with UserName.

            'Populates all the variables retrieved from LDAP.
            FirstName = If(r.Properties.Contains("givenName"), Trim(r.Properties("givenName").Item(0)), "")
            LastName = If(r.Properties.Contains("sn"), Trim(r.Properties("sn").Item(0)), "")
            If IsNothing(r.Properties.Contains("mail")) Then
                EMail = If(r.Properties.Contains("userPrincipalName"), Trim(r.Properties("userPrincipalName").Item(0)), "")
            Else
                EMail = If(r.Properties.Contains("mail"), Trim(r.Properties("mail").Item(0)), "")
            End If
            EMail = EMail.ToLower
        Catch ex As Exception
            'Error Logging to Database Here
        End Try
    End Using
End Sub

Faça as perguntas necessárias para obter as informações necessárias para me ajudar. Venho pesquisando isso há semanas e parece que a representação tem um número tão insano de variáveis que eu poderia facilmente me perder. Eu simplesmente não consigo descobrir como implementar isso no meu código ... Eu ainda sou bastante novo no .NET:

questionAnswers(2)

yourAnswerToTheQuestion