Интегрированная безопасность с Impersonate=true / Ошибка строки подключения / ASP.NET

У нас есть веб-сайт, развернутый с Impersonate=true.

Строка подключения определяется следующим образом:

Integrated Security = SSPI; Persist Security Info = false; Исходный каталог =MyDatabase; Источник данных =MyServer;

Я предполагаю, что Persist Security Info является избыточной, поскольку она применима только к аутентификации SQL? Нам нужно использовать встроенную защиту, так как не может иметь пароли в файле конфигурации из-за корпоративных политик безопасности.

Сайт работает под учетной записью сервиса. Учетная запись службы имеет разрешения на доступ к базе данных, но другие учетные записи не имеют доступа (политика безопасности).

Проблема, с которой мы сталкиваемся, заключается в том, что учетная запись пользователя передается в базу данных и отклоняется из-за Impersonate=true.

Мы должны иметь Impersonate = true для работы компонента единого входа.

Это уловка 22 или есть решение?

Надеюсь, я написал это достаточно ясно!

1 ответ

Согласно http://msdn.microsoft.com/en-us/library/134ec8tc(v=vs.80).aspx "Олицетворение не зависит от режима аутентификации, настроенного с использованием элемента конфигурации аутентификации. Элемент аутентификации используется для определения свойство User текущего HttpContext. Олицетворение используется для определения WindowsIdentity приложения ASP.NET. "Соответственно, вам не нужно разрешать олицетворение для проверки подлинности пользователей. Обратите внимание, что ваше приложение должно обрабатывать авторизацию. Готовым каркасом для реализации авторизации является NetSQLAzman, см. Http://netsqlazman.codeplex.com/

Другие вопросы по тегам