Frage

Ich verwende Exchange -Webdienste, um Termine aus den Kalendern für einen oder mehrere Personen zu finden, zu erstellen, zu aktualisieren und zu löschen. Die Bewerbung würde von einem Manager verwendet, um die Urlaubszeit der Mitarbeiter anzuzeigen und Termine basierend auf der Verfügbarkeit zuzuweisen.

Damit dies alle Arbeiten bewirkt, müssen die Anmeldeinformationen eines authentifizierten Benutzers an den Webdienst gesendet werden. Bisher sind die beiden Methoden, die ich gefunden habe, die dies zulässt, 1) den Benutzernamen und das Kennwort jedes Benutzers und 2) einen Benutzer dazu veranlasst, die Standardzusammenarbeit zu verwenden. Die Option "StandardCedentials" funktioniert für uns nicht, da wir keine Benutzer als Operpeat zulassen.

Kennt jemand einen anderen Weg?

War es hilfreich?

Lösung

Gibt es die Beschränkungen für Unternehmensrichtlinien, die Sie daran hindern, Identitätswechsel zu verwenden? Beziehen Sie sich auf Windows -Imitation oder Austausch -Imitation?

Je nachdem, welche Identität Sie nicht verwenden können, kann eine Alternative eine Delegation von Spannung sein.

Wenn das Ziel darin besteht, einen Manager mehrere Mailboxen anzusehen, finden Sie hier einige Optionen:

(1) Zugriff auf die Mitarbeiter Mailboxen an den Manager zu Gewähren. Abhängig von der Ebene des Delegiertenzugriffs kann der Manager die Mitarbeiter von Mitarbeiter anzeigen und nach Bedarf zu bearbeiten. Es gibt eine Einschränkung zu diesem Ansatz, je nachdem, wie der Zugang gewährt wird, kann der Delegierte (Mitarbeiter) den Zugang entfernen und den Manager daran hindern, seine Kalender anzusehen.

Für die Authentifizierung mithilfe des Delegiertenzugriffs unter der Annahme, dass die Anwendung mit Webdiensten im Kontext des Managers ausgeführt wurde, sollten Sie in der Lage sein, StandardCredentials zu verwenden.

(2) Erstellen Sie ein Servicekonto, das entweder Identitätsrechte hat oder Zugriff über die Mitarbeiter von Mitarbeiter delegiert. Melden Sie sich dann als Dienstkonto an.

Hier finden Sie auch einige Links, die Sie möglicherweise nützlich finden ...

Andere Tipps

Wenn ich Sie recht verstanden hätte, würde der Manager die Anwendung verwenden und sich mit den EWs als er selbst authentifizieren. EWS wäre dann aufgrund unzureichender Berechtigungen dann nicht in der Lage, die Postfach eines anderen Benutzers zu aktualisieren.

Wie wäre es, wenn der Manager Zugriff auf die Mailbox jedes Benutzers gewährt?

(Oder fehlt mir ein wesentlicher Teil der Frage?)

Wenn der Benutzer auf seinem eigenen Computer angemeldet wird und diese Anmeldeinformationen wahrscheinlich im Cache für Anmeldeinformationen verfügbar sind, können Sie ein Webcredential -Objekt aus dem von dort erhaltenen Icredential -Objekt konstruieren:

public static ExchangeService GetService()
{
    var webCredentials = new WebCredentials(CredentialCache.DefaultNetworkCredentials);

    var service = new ExchangeService(ExchangeVersion);
    service.AutodiscoverUrl(Properties.Settings.Default.SmptAccountName);
    service.Credentials = credentials;

    return service;   
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top