Как проверить, работаете ли вы в среде среднего доверия в .NET?
-
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");}