Блокировка сборок от изменения IPrinicpal - PullRequest
1 голос
/ 01 сентября 2010

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

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

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

1 Ответ

0 голосов
/ 02 сентября 2010

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

...