Página siguiente Página anterior Índice general

6.7 El gestor de seguridad

Actualmente, todo el código del sistema del JDK invoca métodos del Gestor de seguridad para determinar la politica de seguridad activa y realizar verificaciones de control de acceso.

Por defecto, cuando se ejecutan applets siempre se carga una implementación del gestor de seguridad, pero cuando se lanzan aplicaciones esto no es así. Si el usuario desea que se instale uno debe invocar la máquina virtual definiendo la propieda java.security.manager:

java -Djava.security.manager NomApp
o la aplicación debe invocar el método setSecurityManager de la clase java.lang.System para instalar un gestor.

Si se le asigna valor a la propiedad java.security.manager se instalará el gestor de seguridad especificado:

java -Djava.security.manager=iti.GestorSeguridad NomApp

Un aspecto muy importante del gestor de seguridad es que una vez cargado no se puede reemplazar, de modo que ni las applets ni las aplicaciones pueden instalar el suyo cuando el usuario (applicaciones) o el sistema (applets) ya han cargado uno.

Por último hay que señalar que el gestor de seguridad está muy relacionado con la clase AccessControler: la clase SecurityManager representa el concepto de un punto central de control de acceso, mientras que la clase AccessControler implementa un algoritmo concreto de control de acceso con características especiales como el método doPrivileged().

En versiones del JDK anteriores a la 1.2, los programadores redefinian el gestor de seguridad cuando necesitaban métodos de control de acceso específicos, pero ahora el método adecuado para hacer esto es emplear el AccessController.


Página siguiente Página anterior Índice general