Блочные сборки от изменения iPrinicPal
-
26-09-2019 - |
Вопрос
Мое приложение загружает много разных узлов плагинов. Каждый плагин может добавлять свои собственные услуги в контейнер IOC и также могут использовать все услуги, предоставляемые основным приложением.
Я переезжаю из домашнего решения для обеспечения безопасности Brewn для использования CAS (GrancedPermissionattribute и собственного, полученного из CodeacuccessSecurityAttribute).
Могу ли я помешать загруженным собраниям изменять систему .threading.thread.CurrentPrincipal (а таким образом, обходишь мои проверки безопасности)?
Решение
Вам нужно будет отрицать SecurityPermission ControlPrincipal разрешение на плагины. Это можно сделать, например, загрузка их в Appdomain, который отрицает это разрешение на все код, который не обладает сильной подписью имени. Видеть http://blogs.msdn.com/b/shawnfa/archive/2005/08/08/449050.aspx. Для примера этого подхода.