Ich versuche, eine ASP.NET (.NET 3.5) -Website zu erstellen, um über Exchange-Webdienste eine Verbindung zu unserem Exchange 2010-Server herzustellen. Ich kann eine Verbindung zu EWS herstellen, wenn ich den Benutzernamen, das Kennwort und die Domäne festlege authentifizieren mit, aber ich möchte, wenn möglich, keine Login-Daten in meinem Code enthalten.AD Benutzerauthentifizierung
In IIS habe ich die integrierte Windows-Authentifizierung für die Website aktiviert, in web.config der Website habe ich <authentication mode="Windows"/>
.
Der folgende Code ist, was ich mit worden woking:
svc.UseDefaultCredentials = True
svc.Credentials = New WebCredentials()
svc.Url = New Uri(svcURL)
Mit dem obigen Code, den ich die Nachricht erhalte:
Wenn eine Anforderung als ein Konto zu machen, der nicht hat Mailbox, Sie müssen die primäre Mail-SMTP-Adresse für alle eindeutigen Ordner-IDs angeben.
Wenn ich versuche, svc.Credentials = CredentialCache.DefaultNetworkCredentials
(anstelle von svc.Credentials = New WebCredentials()
) mir die Fehlermeldung zu verwenden:
Kann nicht das Objekt des Typs ‚System.Net.SystemNetworkCredential‘ zu Typ ‚Microsoft.Exchange werfen .WebServices.Data.ExchangeCredentials '.
Wie bereits erwähnt, ist die einzige Sache, die gearbeitet hat, ist die Benutzerinformationen zu definieren, indem hartzucodieren Benutzer Login-Daten zur Authentifizierung an, die ich lieber nicht tun: svc.Credentials = New WebCredentials("username","password","domain")
Hat jemand in der Lage gewesen zu EWS zu authentifizieren die Anmeldeinformationen des aktuell angemeldeten Benutzers in einer ASP.NET-Website verwenden?
Lima, wo Sie eine Lösung für dieses Szenario finden? –