2010-09-01 2 views
1

Мое приложение загружает множество различных модулей плагинов. Каждый плагин может добавлять свои собственные услуги в контейнер IoC и также может использовать все услуги, предоставляемые основным приложением.Сборка блоков от изменения IPrinicpal

Я перехожу из решения безопасности для дома, чтобы использовать CAS (PrincipalPermissionAttribute и собственный, полученный из CodeAccessSecurityAttribute).

Могу ли я предотвратить замену загруженных сборок System.Threading.Thread.CurrentPrincipal (и тем самым обойти проверки безопасности)?

ответ

0

Вам нужно будет запретить разрешение SecurityPermission \ ControlPrincipal для плагинов. Это можно сделать, например, путем загрузки их в приложение, которое отрицает это разрешение для всего кода, который не имеет вашей сильной подписи. См. http://blogs.msdn.com/b/shawnfa/archive/2005/08/08/449050.aspx для примера такого подхода.

Смежные вопросы