Как проверить, работаете ли вы в среде среднего доверия в .NET?

StackOverflow https://stackoverflow.com/questions/1369059

  •  21-09-2019
  •  | 
  •  

Вопрос

У меня есть веб-сайт на общем хостинге GoDaddy (не мой выбор, потому что это всегда средний уровень доверия), и у меня есть некоторые расширенные функции, которые я хотел бы включить, если приложение запускается с высоким уровнем доверия.

Итак, хотелось бы знать, есть ли способ проверить, работает ли приложение во время выполнения в среде Medium Trust в .NET?

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

Решение

Вы можете попробовать следующий код:

if (!SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

Я получил это по следующей ссылке:http://www.netomatix.com/development/webcaspermissions.aspx

вот ссылки на классы диспетчера безопасности и разрешений реестра в MSDN:

http://msdn.microsoft.com/en-us/library/system.security.securitymanager.isgranted.aspx http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermission.aspx

Вам нужно будет добавить ссылку на System.Security и добавить пару операторов using для System.Security и System.Security.Permissions.

РЕДАКТИРОВАТЬ:

Добавлено после комментария Ника:

Вы можете напрямую проверить уровень безопасности asp.net:

if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top