Jump to content

Exchange Web Services Use Default Credentials Problem


eto309
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Guten Tag Liebe Community,

 

folgender Stand:

 

Ich habe 2 Server und 1 Client System über VMWARE erstellt.

 

Server1: DomainController\ActiveDirectory

Server2: Exchange Server\IIS

Server3: Client

 

Auf dem Client befindet sich Outlook 2010 das mit dem Exchange Server 2016 verbunden ist. Im Outlook befindet sich ein VSTO Addin das erstellte Termine mit einer Markierung versetzt um Sie so einheitlich zu Identifizieren. -> Klappt

 

Nun zu meinem Problem... Es soll möglich sein via einer Webanwendung(die auf dem IIS gehostet wird) die erstellten Termine aus dem Outlook Addin auslesen zu können.

 

Dazu benutze ich den Exchange WebService:

 

 If ConfigurationManager.AppSettings("ExchangeDefaultCredentials") Then
                service = New ExchangeService() With {
                   .UseDefaultCredentials = True,
                   .Url = New Uri(ConfigurationManager.ConnectionStrings("ExchangeUri").ConnectionString)}
                'service.AutodiscoverUrl(ConfigurationManager.AppSettings("ExchangeUser"), RedirectionUrlValidationCallback)
            Else
                service = New ExchangeService() With {
                   .UseDefaultCredentials = False,
                   .Credentials = New WebCredentials(ConfigurationManager.AppSettings("ExchangeUser"), ConfigurationManager.AppSettings("ExchangePW")),
                   .Url = New Uri(ConfigurationManager.ConnectionStrings("ExchangeUri").ConnectionString)}
            End If

            Dim startDate As DateTime = DateTime.Today
            Dim endDate As DateTime = startDate.AddDays(18)

            Dim calendar As CalendarFolder = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, New PropertySet())

            Dim cView As New CalendarView(startDate, endDate, 50)
            cView.PropertySet = New PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Id)
            Dim appointments As FindItemsResults(Of Appointment) = calendar.FindAppointments(cView)

            For Each appointment As Appointment In appointments
                apmt = Appointment.Bind(service, appointment.Id, New PropertySet(BasePropertySet.FirstClassProperties) With {.RequestedBodyType = BodyType.Text})
                If apmt.Categories.Contains("SILO") Then
                    lstApmt.Add(apmt)
                End If
            Next

 

Bei der ersten Bedingung wird geprüft ob es sich um einen Zugriff mit "Use Default Credentials" handelt  (diese Boolean Wert wird in der Webconfig eingestellt).

Ist Use DefaultCredentials = false übergebe ich dem Exchange Server die Mailadresse + das Passwort direkt. -> klappt

 

Wie stelle ich es aber nun an, das wenn die Use-Default Credentials =true sind, das auch die Credentials des aktuellen Benutzers übergeben werden um dann die Informationen aus dem Exchange zu lesen?

 

Hänge seit einigen Tagen an dem Problem und weiß nicht ob ich noch nötige Schritte im Exchange Server/IIS oder im Code unternehmen muss.

 

IIS Authentifizierung:

 

image.png.d746632f29058b2d33255d42e912d8d3.png

 

EWS:

image.png.e79f0b504992060ce81728d96a6c54b4.png

 

 

 

 

 

 

 

 

 

Link zu diesem Kommentar

Ich denke das wird so nicht gehen. Wie soll denn diese Anwendung als Man-in-the-Middle den Authentifizierungstoken an EWS weitergeben können? Was sagt der Hersteller des Anwendung dazu? Ist dort eine Kerberos Delegation (KCD) konfiguriert?

Mit Exchange Server oder einer Einstellung dort hat die Frage wenig bis nichts zu tun. Ich würde mich an den Hersteller wenden.

 

ASR

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...