Мы пытаемся запустить набор административных задач на сервере с помощью консоли веб-администрирования. Консоль запускается с олицетворением в качестве текущего зарегистрированного пользователя, и только администраторы на локальном компьютере могут войти в систему. Сейчас это работает в большинстве случаев, но у нас возникают проблемы при работе в UAC.Временное предоставление повышенных прав администратора для кода ASP.NET
Первая проблема - блокиратор: кажется, что администраторы не получают роль «BUILTIN \ Administrators», даже если они являются администраторами локального окна. Это может помешать им даже попасть в консоль администратора, так как мы используем нотацию web.config <allow roles="BUILTIN\Administrators">
для указания безопасности. Я подозреваю, что единственными решениями здесь являются либо запуск приложения ASP.NET как SYSTEM, либо предоставление большего количества пользователей и выполнение более детальной проверки прав доступа в коде. Любые другие идеи? Есть ли способ вставить запрос на высоту во встроенную проверку прав доступа ASP.NET?
Другая проблема заключается в том, что мы хотим запустить некоторые команды, требующие доступа администратора. Пользователь, посещающий сайт, является администратором и правильно выдается за него, но когда мы запускаем процесс, он терпит неудачу из-за отсутствия прав администратора. Ясным ответом является возвышение на протяжении всей этой команды. Есть решения, которые позволят мне временно поднять, выдав конкретное имя пользователя и пароль, но я бы предпочел не запрашивать у него уже проверенного пользователя пароль. Существуют ли какие-либо трюки для подъема текущего пользователя?
(Я могу понять, почему команда ASP.NET может попытаться сделать это трудно, так что веб-страницы не смогут воспользоваться невидимым преимуществом администратора, посещающего веб-сайт ... но, безусловно, должен быть какой-то способ грамматически заявляют, что код должны полные права администратора, надлежащим образом предупреждая администратор IIS своих намерений)
Есть целый ряд ответов для приложений, такие как Windows Forms: How to elevate privileges only when required? и File.Exists returning false from a network share , но я надеюсь найти тот, который будет работать с ASP.NET ...
Thanks Steve
У меня тоже есть эта проблема. Вы когда-нибудь находили ответ? –
Также ища ответ на этот вопрос. – roryf
Вы когда-нибудь использовали какие-либо ресурсы, которые я предоставил в своем ответе? Или вы выбрали альтернативный маршрут? – Peter