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

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

Во-первых, настройка ...

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

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

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

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

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

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

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

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

Спасибо!

Ответы [ 3 ]

0 голосов
/ 09 июня 2010

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

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

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

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

0 голосов
/ 19 августа 2012

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

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

0 голосов
/ 27 января 2010

Несколько не связано с вашим вопросом.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...