2014-08-25 3 views
1

Я пытаюсь выяснить, насколько подходящий Webdav для продукта является компанией, над которой я работаю.Производительность/альтернативы аутентификации Webdav

Наши потребности, судя по всему, превосходят то, что предлагает Webdav, и я пытаюсь выяснить, правильна ли моя теория, и если да, то как мы могли бы ее обойти.

Я использую пакет Webdav, который вы можете установить через «добавить/удалить функции окна» -dialog.

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

Авторские правила, похоже, применимы к папкам, а не отдельным файлам, но это можно обойти, предоставив каждому файлу собственную папку (хотя это немного уродливо).

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

Я думал, что мы могли бы создать какой-то «прокси», который более эффективно проверяет разрешения, и если у пользователя есть разрешение на доступ к файлу, мы просто пересылаем запрос на webdav-сервер.

Это также может быть неэффективным, поскольку мы должны иметь приложение, управляющее соединением между пользователем и Webdav-сервером, но по крайней мере неэффективность не экспоненциальна.

Я предполагаю, что это приводит к вопросам:

ли Webdav вообще подходит для более сложных разрешений?

Есть ли какая-то часть Webdav, которую я пропустил, и которая решает эту проблему?

Если да, было бы лучше пойти с внутренним решением или мы должны сделать внешнее решение?

Если нет Webdav, есть ли лучшее решение? (Мы хотим, чтобы все хороший файл-блокировки, управления версиями и офис-интеграционного материал)

ответ

-1
  1. Забудьте о IIS
  2. Забудьте о чистом WebDAV
  3. Сложение | получить Apache + mod_svn
  4. Использование path- основанная на авторизации в SVN, которая может включать (при необходимости) правила для каждого файла
+0

IIS. У нас есть целая бизнес-система, разработанная в .Net Web-формах, которые уже используют более ста клиентов. Мы не хотим иметь более одного веб-сервера. В основном нам нужно что-то, что работает в IIS с технологиями Microsoft, такими как C#, .Net, MSSql, Web-формы и MVC. – DOOMDUDEMX

+0

@DOOMDUDEMX - «Мы не хотим иметь более одного веб-сервера», это ваш (неправильный, IMNSHO) выбор. DEV-Apache как репозиторий-сервер ** только ** дешево, но энергетическое решение –

+0

Цель состоит в том, чтобы поддерживать «быстрое развертывание», чтобы процедура обновления на сотнях клиентов прошла гладко. Чтобы добавить весь другой веб-сервер (который вводит множество тестов и исследований, чтобы убедиться, что между ними нет проблем с безопасностью), решение не имеет ничего общего с плавным. Если бы мы захотели добавить еще один большой пакет на сервер, мы могли бы просто использовать sharepoint (overkill), поскольку у него есть все, что нам нужно, за исключением плавного развертывания. У DEV-Apache даже есть поддержка для интеграции с Microsoft Office (я не могу найти никакой информации об этом) – DOOMDUDEMX

0

использовать HttpModule для применения ваших правил авторизации.

system.webServer/modules имеет атрибут runManagedModulesForWebDavRequests (! Не то же самое, как runAllManagedModulesForAllRequests) требуется