Можно ли сделать папку доступной для записи в Medium trust? - PullRequest
5 голосов
/ 20 октября 2008

Мое веб-приложение выполняет запись в несколько папок (журналы, загрузки и т. Д.), И я всегда устанавливал эти разрешения вручную через своего хостинг-провайдера.

Я хотел бы создать сценарий установки, который выполняет это на новых установках. Возможно ли это при Среднем доверии?

Я даже не могу вызвать File.GetAccessControl, не говоря уже о File.SetAccessControl, но в любом случае мне не нужен такой "большой молот". Я просто хочу сделать то, что ISP (в данном случае GoDaddy) позволяет мне делать это через консоль управления.

Я полагаю, что PHP способен это сделать, и я хотел бы рассмотреть страницу PHP для этой цели, если это возможно.

Ответы [ 2 ]

2 голосов
/ 17 мая 2010

Хорошо, если вы используете IIS и asp.net обычным способом, у вас должна быть учетная запись asp.net, под которой платформа выполняет ваше приложение от вашего имени.

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

Думайте об этом как о чем-то похожем на это ...

Asp.net загружает ваше приложение (учетная запись asp) Пользователь подключается (учетная запись iuser) Вход пользователя в систему (? В зависимости от используемой учетной записи может быть Windows Auth или Auth формы, т. Д.)

Пользователь просит что-то сделать с использованием ваших отображаемых веб-страниц под своими учетными записями ...

asp.net проверяет, есть ли у пользователя разрешение на выполнение операции (учетная запись asp.net) если пользователь может сделать это, asp.net выполняет запрошенное действие (учетная запись asp.net)

Поэтому ... У вас уже должны быть соответствующие разрешения для этой учетной записи asp.net, чтобы делать то, что вам нужно.

Существует также уровень выше всего этого ... сам сервер IIS обычно работает под учетной записью системной / сетевой службы.

Так что вопрос действительно ... Как вы хотите предоставить разрешения возможному пользователю для записи на сервер.

Посмотрите на классы поставщика членства и ролевой поставщик в структуре, которую вы должны иметь возможность наследовать, и создайте классы ActiveDirectoryRoleProvider и ActiveDirectoryMembershipProvider, которые будут аутентифицироваться на основе членства в ролях пользователей в AD, или, если вы предпочитаете просто проходить аутентификацию по БД с базовыми классами провайдера asp.net.

Надеюсь, это поможет.

0 голосов
/ 09 апреля 2010

Вам нужно отредактировать файл конфигурации в % Windir% \ Microsoft.NET \ Framework {версия} \

см. http://msdn.microsoft.com/en-us/library/ms998341.aspx

...