Вопрос

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

Я переезжаю из домашнего решения для обеспечения безопасности Brewn для использования CAS (GrancedPermissionattribute и собственного, полученного из CodeacuccessSecurityAttribute).

Могу ли я помешать загруженным собраниям изменять систему .threading.thread.CurrentPrincipal (а таким образом, обходишь мои проверки безопасности)?

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top