Frage

Ich schreibe eine Webanwendung, die mit Exchange funktioniert, und muss daher ein Konto ausgeben, das Admin -Rihgts zum Austausch hat. Dieses Konto wird vom Benutzer im Setup angegeben. Was ist der beste Weg, um sich als Identitätswesen für dieses Konto zu nutzen, und es wird offensichtlich hart in das web.Config funktionieren, da sich geändert werden muss, aber ich bin mir nicht sicher, wie es am besten ist, dies zu tun. Außerdem muss ich eigentlich nur als administrativen Benutzer für 1 Klasse ausgeführt werden. Ist es möglich, nur für einige Methoden auszugeben?

War es hilfreich?

Lösung

Ich habe eine Antwort auf die Verwendung von Imitationen gepostet, um auf eine Netzwerkdateifreigabe zuzugreifen, sollte aber auch für Sie funktionieren. Es enthält die Quelle für die AC# -Klasse, die zum Verwalten des Beginns/Ende der Imitation verwendet werden kann und von jeder Klasse oder Methode verwendet werden kann.

Die bereitgestellte Quelle geht davon aus, dass Sie den Benutzernamen und das Passwort im web.config speichern.

Siehe das Original Frage und Antwort für mehr Details.

Andere Tipps

Die Art und Weise, wie ich dies in der Vergangenheit getan habe, ist die Verwendung von Logonuser. Die folgenden Links geben einige Anleitungen dazu.

http://blogs.msdn.com/shawnfa/archive/2005/03/21/400088.aspx

http://www.guidanceshare.com/wiki/asp.net_2.0_security_guidelines_-_impersonation/delegation

Möglicherweise möchten Sie auch überlegen, ob Sie Exchange -Imitation verwenden und Ihre Bewerbung unter einer festen Identität ausführen können, die kann im Austausch unterbrochen Über Exchange -Webdienste.

Sie könnten es wie oben tun, aber in diesem Szenario ist das falsch daran, nur das Web.config während Ihres Setup -Prozesses zu ändern?

Zusätzlich zum Anmeldung, wie es andere bemerkt oder die WindowsImpersonationContext -Klasse hat, können Sie auch in Betracht ziehen, den privilegierten Code zu trennen. Zum Beispiel als Enterprise Services -Objekt (unter com+ausgeführt). Auf diese Weise können Sie das Betriebssystem die Anmeldeinformationen verwalten und eine integrierte Vertrauensgrenze um den privilegierten Code haben.
Natürlich müssten Sie Grenzen implementieren, wer dieses Objekt nennen kann, aber das ist leicht konfigurierbar ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top