Токен WindowsIdentity в устаревшем ASP - PullRequest
1 голос
/ 05 декабря 2008

Я создал библиотеку .Net на работе, которая используется всеми нашими разработчиками. Часть безопасности использует Microsoft AzMan для бэкэнда безопасности. Чтобы создать безопасный (AzMan) ClientContext, я должен передать ему значение токена (как uint). Это все прекрасно, пока мне не нужно было создать оболочку COM для нашей общей библиотеки, чтобы некоторые из наших старых страниц могли использовать ее без переписывания.

Я не могу понять, как получить значение токена для передачи в AzMan из устаревшего ASP. Оболочка COM настроена для работы в качестве COM-сервера и запускается от имени конкретного пользователя, которого мы здесь используем для всех объектов COM, поэтому общая библиотека не может просто получить удостоверение с помощью .Net.

Есть идеи?

Ответы [ 3 ]

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

В классическом ASP вы должны получить токен от внешнего COM-объекта.

Прошло много времени с тех пор, как я имел дело с классическим ASP ... но кто-то здесь, кто имел дело с имитацией в классическом ASP, может иметь фрагмент кода, которым он может поделиться.

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

Если вы не можете получить токен, вы всегда можете использовать IAzApplication.InitializeClientContextFromName при извлечении имени пользователя из запроса на странице asp и передаче его в компонент com +.

http://msdn.microsoft.com/en-us/library/aa377363(VS.85).aspx

0 голосов
/ 05 декабря 2008

Используете ли вы анонимный вход в конфигурации IIS? Если вы используете проверку подлинности Windows и делаете следующее в классическом ASP, вы должны получить вошедшего в систему пользователя:

Request.ServerVariables("LOGON_USER")
...