У нас есть много специализированных веб-приложений (как внешних, так и внутренних), написанных на классических технологиях ASP и ASP.NET 2.0. Внутренние пользователи могут загружать файлы на эти веб-сайты, которые затем могут просматривать внешние пользователи. В некоторых случаях внешние пользователи также могут загружать документы. Снимок экрана № 1 дает краткое представление о существующей архитектуре.
Внутренние пользователи загружают документы в
custom web applications
. Эти документы хранятся в структуре папок, определенной в веб-приложении.Метаданные и права пользователей, например, кто может получить доступ к документам, хранятся в
SQL Server
базе данных.Тот же набор документов, который загружается в
custom web applications
, также существует вSharePoint
. Однако настраиваемые веб-приложения не знают о SharePoint. Таким образом, пользователи должны загрузить их из SharePoint, а затем загрузить в пользовательские веб-приложения. В настоящее время мы используемSharePoint 2010
.Внешние пользователи также могут загружать документы в пользовательские веб-приложения. Метаданные и права пользователя документа сохраняются в базе данных в зависимости от пользователя, который загружает документ.
Снимок экрана №1:
На снимке экрана № 2 показана архитектура, которую я пытаюсь достичь. Я очень мало занимался разработкой SharePoint. В основном я использовал веб-службы SharePoint для получения некоторого содержимого списка, но не более того. Наши будущие пользовательские веб-приложения могут быть написаны с использованием ASP.NET MVC. Пожалуйста, найдите вопросы после скриншота.
Снимок экрана № 2:
Вот мои вопросы:
Я хотел бы, чтобы
internal users
продолжал загружать и поддерживать свои документы в SharePoint. Модель безопасности пользователя уже определена в базе данныхSQL Server
. Эти разрешения безопасности должны быть доступны в свойствах документа SharePoint, чтобы пользователи могли выбирать, кто может просматривать документ из настраиваемых веб-приложений. Как я могу этого добиться? Должен ли я копировать информацию о разрешениях пользователя SQL Server в SharePoint?Я считаю, что
SharePoint Web Services
илиBusiness Connectivity Services (BCS)
могут помочь в получении документа и связанной с ним информации из SharePoint. Какой из них лучше подходит для этого сценария?Пользовательское веб-приложение должно отображать только подтвержденные версии документов. Если пользователь разрегистрировал документ в SharePoint, чтобы внести какие-либо изменения, эта извлеченная версия документа не должна быть видна внешним пользователям. Это возможно?
Кто-нибудь пробовал такой подход? Есть ли подводные камни с этой моделью? Есть ли проблемы с производительностью этой конструкции?
Будет ли этот дизайн помехой, если я перепишу наши существующие приложения с использованием ASP.NET MVC?
Можно ли использовать функцию поиска SharePoint в настраиваемом веб-приложении (
ASP.NET Web Forms
/ASP.NET MVC
)? Другими словами, могу ли я отправить критерии поиска из настраиваемого веб-приложения и заставить SharePoint выполнять поиск и возвращать результаты обратно в настраиваемое веб-приложение?
Я очень ценю ваш вклад.
Заранее спасибо.