олицетворение asp.net - PullRequest
       7

олицетворение asp.net

1 голос
/ 05 января 2009

Я пишу веб-приложение, которое работает с Exchange, и поэтому ему необходимо выдать себя за учетную запись с правами администратора для Exchange. Эта учетная запись указывается пользователем при настройке. Каков лучший способ получить олицетворение, чтобы использовать эту учетную запись, очевидно, жестко запрограммировав это в web.config не будет работать, так как он должен быть в состоянии изменить, но я не уверен, что лучший способ сделать это. Кроме того, мне действительно нужно работать от имени этого администратора только для одного класса, возможно ли выдавать себя за некоторых методов?

Ответы [ 4 ]

1 голос
/ 05 января 2009

Я опубликовал ответ об использовании олицетворения для доступа к сетевому файлу, но он должен работать и для вас. Он включает исходный код класса c #, который может использоваться для управления началом / концом олицетворения и может использоваться любым классом или методом.

В указанном источнике предполагается, что вы храните имя пользователя и пароль в файле web.config.

См. Оригинальный вопрос и ответ для получения более подробной информации.

0 голосов
/ 07 января 2009

В дополнение к LogonUser, как отмечали другие, или к классу WindowsImpersonationContext, вы также можете рассмотреть возможность выделения привилегированного кода. Например, работает как объект Enterprise Services (работает под COM +). Это позволило бы операционной системе управлять учетными данными, плюс у вас есть встроенная граница доверия вокруг привилегированного кода.
Конечно, вам нужно будет установить ограничения на то, кто может вызывать этот объект, но это легко настраивается ...

0 голосов
/ 05 января 2009

Вы можете сделать это, как указано выше, но что в этом сценарии не так просто изменить файл web.config во время процесса установки?

0 голосов
/ 05 января 2009

То, как я делал это в прошлом, - это использование LogonUser. Приведенные ниже ссылки дают некоторые рекомендации о том, как это сделать.

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

http://www.guidanceshare.com/wiki/ASP.NET_2.0_Security_Guidelines_-_Impersonation/Delegation

Вы также можете подумать, можете ли вы использовать олицетворение Exchange и запускать ваше приложение с фиксированной идентификацией, которая может олицетворять в Exchange через веб-службы Exchange.

...