Проблема размещения субдомена с доступом к диску (C # / ASP.NET 3.5)

2

Это не очень сложный сценарий на самом деле, но, когда я начинаю печатать проблему, я понимаю, как запутанная она может стать текстовой. Позвольте мне попытаться быть предельно ясным:

Сначала настройте...

У меня есть веб-приложение С#/ASP.NET, которое открыто просматривается в моем основном домене (www), позвоните ему www.mysite.com. Ничего необычного, просто интерфейс, который подключается к SQL для отображения записей.

Затем у меня есть второе веб-приложение С#/ASP.NET, которое защищено с использованием проверки подлинности форм, выполняемой на субдомене, и позвоните ему admin.mysite.com. Это очень легкая CMS-система для администрирования публичного сайта.

Теперь проблема...

Оба этих сайта отлично работают для основных задач, однако моя проблема возникает, когда я пытаюсь получить доступ к файловой системе для загрузки. Мой веб-хост требует, чтобы субдомены запускались как виртуальные каталоги в основном приложении в IIS (поэтому субдомены фактически разрешают/перенаправляют на www.mysite.com/admin при вводе admin.mysite.com), но из-за этого я я не могу написать на свой сайт root из подпапки.

Позвольте мне объяснить немного больше...

Система CMS (работает как виртуальный каталог) дает администратору возможность загружать фотографии для отображения на основном сайте, целевая папка которой - www.mysite.com/images - при попытке доступа к диску из корневого приложения, Я могу писать в виртуальный каталог, но не могу сделать наоборот - то есть писать в корневой каталог из виртуального каталога, получая нарушения безопасности. Если я могу загрузить только для виртуального каталога//админа, вся суть спорна, потому что обеспеченная папка, что публика не может видеть!

Единственное решение, о котором я могу думать, это загрузить файлы в /admin/virtual directory, а затем вызвать URL-адрес в корневом каталоге, который перемещает файлы из/admin/обратно в корень, но это полностью гетто.

Я надеюсь, что этот пост имеет смысл. Кто-нибудь еще испытывает что-нибудь подобное? Суть в том, что виртуальные каталоги, похоже, имеют доступ только к себе, а не к родительским каталогам, независимо от того, какие учетные данные используются.

Спасибо!

  • 0
    Если бы вы не были в Windows, символические ссылки легко могли бы решить эту проблему;)
Теги:
upload

3 ответа

0

Вы можете разместить веб-сервис в корневом домене "www.yoursite.com", который получит поток и сохранит этот поток на диске в виде файла. (этот веб-сервис может получать три параметра: поток, имя желаемого файла на диске и, в конечном итоге, папку назначения для файла, так что это будет многоцелевая файловая система для записи)

Позже, в вашем поддомене "subdomain.yoursite.com" вы можете использовать webservice (когда вы загружать файл, конвертировать в поток и отправлять его в веб-службу, размещенную на корневом сайте, с помощью соответствующие параметры).

0

В этом случае, я думаю, я бы рассмотрел использование базы данных.

Вот как бы я это сделал:

  • Файлы загружаются в каталог /admin
  • Приложение admin записывает URL-адрес файла в базу данных, которую он разделяет с корневым приложением
  • Корневое приложение загружает URL-адрес из базы данных и использует его для указания файла.

Я думаю, что это лучший способ приблизиться к нему, при таких обстоятельствах.

0

Совсем не связанный с вашим вопросом.

GoDaddy - отличный хост из-за таких вещей, как вы заявили. Недавно я отправился на поиски хозяина и всем сердцем рекомендую JodoHost.com.

Некоторое сообщение, которое я написал по этому вопросу:
http://www.ocdprogrammer.com/post/2009/12/16/The-search-for-a-web-host.aspx http://www.ocdprogrammer.com/post/2010/01/03/JODOHostcom.aspx

Однако поведение, которое вы видите, кажется мне очень нормальным. Поддомен не может получить доступ к корневому домену. Хотя с выделенным сервером вы могли бы преодолеть это, но один из недостатков общего хоста.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню