eto309 0 Geschrieben 23. September 2018 Melden Teilen Geschrieben 23. September 2018 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: EWS: Zitieren Link zu diesem Kommentar
gelöscht 0 Geschrieben 24. September 2018 Melden Teilen Geschrieben 24. September 2018 Ich verstehe die Frage nicht: Du installierst auf dem IIS des Exchange Servers Eine 3rd Party Anwendung die sich mit den Credentials des an einem Client angemeldeten Benutzers an EWS authentifizieren soll? ASR Zitieren Link zu diesem Kommentar
eto309 0 Geschrieben 24. September 2018 Autor Melden Teilen Geschrieben 24. September 2018 Genau, darum geht es. Im Produktiv System wird dann ein selbständiger WebServer zur Verfügung stehen ... aus Faulheit hab ich das aber bisher einfach noch wegelassen. Zitieren Link zu diesem Kommentar
Nobbyaushb 1.471 Geschrieben 24. September 2018 Melden Teilen Geschrieben 24. September 2018 Finger weg vom IIS auf einem Exchange - das kann nach hinten losgehen. Zitieren Link zu diesem Kommentar
eto309 0 Geschrieben 24. September 2018 Autor Melden Teilen Geschrieben 24. September 2018 Okay würde jetzt noch einen zusätzlichen IIS aufsetzen... aber das wird mich bei meinem eigentlichen Problem doch nicht weiterbringen oder ? Ist mein Ansatz falsch ? Zitieren Link zu diesem Kommentar
gelöscht 0 Geschrieben 25. September 2018 Melden Teilen Geschrieben 25. September 2018 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 Zitieren Link zu diesem Kommentar
eto309 0 Geschrieben 25. September 2018 Autor Melden Teilen Geschrieben 25. September 2018 Finde es irgendwie komisch, da in den Dokumentationen dieser Punkt immer wieder aufgegriffen wird. https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/authentication-and-ews-in-exchange Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.