Хорошо, я запускаю небольшой тестовый веб-сервер в своей частной сети. У меня есть машина под управлением Windows 2000 Pro, и я пытаюсь запустить приложение ASP.NET через IIS.
Я написал это так, чтобы веб-страница использовала реестр для хранения определенных настроек (строки подключения, потенциально изменчивые местоположения других веб-сервисов, пути в локальной файловой системе, где хранится определенная информация и т. д.). Конечно, при тестировании он работал нормально. с VStudio.NET 2005, потому что пользователь, запускающий приложение, имеет повышенные привилегии. Однако, запустив его в IIS, я получаю сообщение «Доступ к разделу реестра HKEY_LOCAL_MACHINE \ Software запрещен.», Что говорит о том, что пользователь IIS не имеет доступа для чтения к этой части реестра (я только читаю через веб-сайт сам, никогда не пишет).
Я сказал: «Хорошо, достаточно просто, я просто дам этому пользователю права на эту часть реестра через regedit». Проблема в том, что я нигде в regedit не вижу возможности изменить настройки безопасности ... вообще. Это заставило меня задуматься ... Я не думаю, что мне когда-либо приходилось изменять настройки безопасности для кустов / ключей реестра раньше, и я не думаю, что знаю, как это сделать.
Спустя полчаса поиска в Интернете я не нашел никакой полезной информации по этому вопросу. Мне интересно ... как изменить права безопасности на части реестра? Я в тупике, и мне кажется, что моя способность найти ответ в Google совершенно не позволяет мне ... и, поскольку я только что зарегистрировался здесь, я подумал, что посмотрю, знает ли кто-нибудь здесь. знак равно

Вы можете установить разрешения на уровне папки, для которой вы хотите предоставить пользователю права на чтение / запись.
В вашем случае щелкните правой кнопкой мыши папку «Программное обеспечение» и выберите «Разрешения».
Оттуда вы, вероятно, узнаете остальное
Обновлено: если вы все еще сталкиваетесь с проблемами, вы можете изменить файл web.config и использовать олицетворение, чтобы ваше веб-приложение запускалось как определенная учетная запись пользователя. Тогда вы сможете более жестко управлять элементами управления.
RegEdt32.exe позволит вам установить разрешения для ключей реестра.
Просто щелкните правой кнопкой мыши ключ (папку) и выберите «Разрешения», после чего вы сможете редактировать разрешения, как если бы вы использовали папку файловой системы.
Я сделал это, предполагая, что будет доступен параметр «Безопасность». Когда я щелкнул правой кнопкой мыши по ключу, я не увидел никакой опции «Безопасность». = (Я трижды проверил, чтобы убедиться ... и я просто попробовал его на своей машине XP, и на нем действительно есть раздел "Разрешения" ... но на машине Windows 2000 нет. ?)
В процессе поиска я нашел:
http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_21563044.html
Что отмечает, что RegEdit для Windows 2000 не имеет настроек безопасности / разрешений ... но он не предлагает решения проблемы. (Тот, кто задавал вопрос, использовал Windows XP, поэтому с ним все было в порядке ... но в моем случае это 2000 год)
Есть ли способ сделать это именно в 2000 году?
Обновлено: Аааа ... если еще хуже, я полагаю, я могу сделать олицетворение, как указано ниже ... хотя, если я не могу установить параметры безопасности для реестра в 2000 году, мне остается сделать этого пользователя административным доступ (я полагаю?), чтобы на самом деле получить эти права, что, к сожалению, противоречит цели. знак равно
Если у вас есть дубль с RegEdit в Windows 2000, вы можете попробовать следующее:
О, позволь мне попробовать! Я не знал, что вы можете удаленно подключиться к другому реестру.
(Обновлено: я ошибался, это сработало ... мне потребовалось несколько минут, чтобы ответить на мой запрос на удаленное изменение разрешений)
Идея удаленного подключения сделала это! Ты в порядке! Большое спасибо за Вашу помощь! Я никогда не понимал, что с помощью RegEdit можно удаленно подключаться ... Говорят, каждый день узнаешь что-то новое! =) Еще раз спасибо за вашу помощь! знак равно
С другой стороны, о копировании версии RegEdit для XP в Windows 2000 ... это безопасно? Я полагал, что они будут закодированы таким образом, чтобы быть несовместимыми ... но я мог предположить слишком многое. знак равно
Просто используйте RegEdt32.exe вместо Regedit.exe. Перейдите к желаемому ключу или папке, затем откройте меню безопасности и нажмите «разрешения».