Я хотел бы разработать собственное приложение (несколько экранов, сложные процессы) поверх Sharepoint Foundation 2010. Я решил написать визуальные веб-части для простой логики и веб-части Silverlight для сложной логики приложения. Прежде всего: Это решение хорошо?
Мое приложение будет использовать свои собственные данные в отдельной БД. Единственной связью между моей БД и Sharepoint будут пользователи. Пользователи будут проходить аутентификацию на Sharepoint и получать доступ к моему приложению оттуда. Они будут принадлежать к определенным ролям, которые будут определять их права в моем приложении (либо администраторы, иерархически управляющие данными пользователей поддеревьев, либо они будут обычными пользователями, которые могут видеть только свои данные).
В моем приложении (и БД) все эти пользователи будут иерархически связаны. Пользователи с поддеревом пользователей являются администраторами своего поддерева.
Проблема?
Если я пишу веб-части (любого рода), как я могу обеспечить, чтобы эти же веб-части не использовались и на других сайтах Sharepoint? Скорее всего, это сломало бы приложение и, конечно, позволило бы реплицировать одно и то же приложение, но используя разных пользователей ...
Я думал, что мог бы также написать страницы приложения (поэтому мое приложение будет в папке _layouts, насколько я понимаю), что позволило бы не повторно использовать мое приложение, но пользователи и права были назначены на уровне сайта, поэтому я не могу напрямую определить безопасность в Sharepoint ... Так что я тоже не могу победить таким образом ...
Это все предположения о моем тонком опыте разработки Sharepoint, так что поправьте меня, если я ошибаюсь в любом из вышеперечисленных ... Но помимо всего этого что бы вы предложили? Как бы я предложил сделать это?