O que fazer quando minha aplicação ASP.NET retorna a seguinte mensagem: "System.Security.SecurityException: That assembly does not allow partially trusted callers." ?
Os servidores UOL HOST mantém um rígido controle de segurança com o propósito de garantir o total isolamento e integridade das aplicações hospedadas.
Deste modo , as aplicações ASP.NET são executadas em nossa plataforma Windows com o nível de segurança "Medium Trust", com algumas modificações para possibilitar a utilização de recursos importantes como OLEDB, ODBC, Webservices, Reflection, SMTP e outros.
Esse nível de segurança restringe o acesso a recursos críticos do sistema e garante que todo o ambiente esteja seguro e protegido de possíveis ataques de códigos maliciosos que podem interferir tanto na estabilidade do servidor, como na segurança das aplicações hospedadas.
Com isso, você pode, eventualmente, observar o erro "System.Security.SecurityException: That assembly does not allow partially trusted callers." ao tentar utilizar um componente que não permite execução em ambientes chamados "partially trusted".
Caso você seja o desenvolvedor do componente e este componente esteja assinado digitalmente através de uma chave "Strong Name", é necessário que o atributo "AllowPartiallyTrustedCallers" esteja definido no código fonte do componente, conforme link:
http://msdn2.microsoft.com/en-us/library/system.security.allowpartiallytrustedcallersattribute.aspx
Importante: Caso o componente que esteja acusando erro não esteja assinado com "Strong Name" ou então o atributo "AllowPartiallyTrustedCallers" já encontra-se implementado no código do componente, faça a mesma verificação em todos os componentes dependentes, pois caso algum deles apresente este mesmo problema, eventualmente o erro pode "estourar" no componente que o chamou.
Caso você utilize um componente de terceiro, é necessário solicitar junto ao fabricante do mesmo uma versão compatível com ambientes "partially trusted" ou "medium trust".
Já identificamos que os seguintes componentes não são compatíveis com o nível Medium Trust:
- MS Chart Controls
- ReportViewer
OBS: Na ativação das hospedagens, a versão do .NET Framework disponível é a 3.5, o componente MS Chart Controls somente funcionará se a versão do .NET Framework disponível for .NET Framework 4.0.
OBS: Para hospedagens Windows, o UOL HOST já disponibiliza a versão 4.0 .NET Framework. Caso você deseje alterar para essa versão para sua Hospedagem Windows, siga este procedimento:
- acesse o Painel de Controle com seu login e senha
- clique em Ferramentas
- clique em Gerenciador do Servidor WEB - IIS 7.0
- clique em Versão do .NET
- selecione a Versão 4.0
- clique em Alterar.