Como você verifica se você está executando o ambiente de confiança média no .NET?
-
21-09-2019 - |
Pergunta
Estou executando um site em hospedagem compartilhada na Godaddy (não é minha escolha, porque é sempre uma confiança média), e tenho alguns recursos avançados que gostaria de ativar se o aplicativo for executado em alta confiança.
Então, gostaria de saber, se houver uma maneira de verificar se no tempo de execução se o aplicativo estiver em execução no ambiente de confiança média no .NET?
Solução
Você pode tentar o seguinte código:
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
}
Recebi isso no seguinte link:http://www.netomatix.com/development/webcaspermissions.aspx
Aqui estão os links para o gerente de segurança e as aulas de permissão de registro no 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
Você precisará adicionar uma referência ao System.Security e adicionar algumas instruções para o System.Security e System.Security.Permissions.
EDITAR:
Adicionado após o comentário de Nick:
Você pode testar diretamente o nível de segurança do ASP.NET:
if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}