Modelos de ejecución y seguridad

Silverlight cuenta con dos modelos de ejecución y dos modelos de seguridad:

Navegador Confianza
Dentro Parcial
Dentro Elevada (política de grupo)
Fuera Parcial
Fuera Elevada

De forma predeterminada Silverlight se ejecuta en un modelos de Confianza Parcial. De esta forma la aplicación NO podrá dañar el equipo del usuario, ni acceder a recursos considerados sensibles (sistema de archivos, puertos, periféricos). Esto se debe a que las aplicaciones se ejecutan dentro de un “sandbox” evitando operaciones inseguras.

Niveles de seguridad

  1. Transparente (modo predeterminado).
  2. Seguro crítico: realiza todas las comprobaciones para determinar si el código transparente puede invocar al código crítico.
  3. Crítico: aquel código que se encuentra fuera del sandbox.


Veamos un ejemplo: la propiedad FullName está implementada en la clase abstracta FileSystemInfo, que es de la que hereda la clase FileInfo. Si intentamos leer la propiedad File de la caja de dialogo OpenFileDialog en un entorno de Confianza Parcial, obtendremos una excepción.

string fullName = ofd.File.FullName;

Esto ocurre porque el acceso get de la propiedad está marcado con el atributo SecuritySafeCritical.

La Confianza Parcial limita de gran manera la funcionalidad, a partir de Silverlight 4 tenemos un modelo de Confianza Elevada que reducen las restricciones y se soporta los servicios de invocación de la plataforma o P/Invoke.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.