Trabajo en Red

Podr�as tener que sobreescribir varios m�todos checkXXX() del SecurityManager dependiendo de las operaciones a las que quieras que el controlador de seguridad les imponga restrcciones.

La primera columna de la siguiente tabla son objetos sobre los que se pueden realizar varias operaciones. La segunda columna lista los m�todos de SecurityManager que aprueban las operaciones de los objetos de la primera columna.

Operaciones sobre Aprobadas por
sockets checkAccept(String host, int port)
checkConnect(String host, int port)
checkConnect(String host, int port, Object executionContext)
checkListen(int port)
threads checkAccess(Thread thread)
checkAccess(ThreadGroup threadgroup)
class loader checkCreateClassLoader()
sistema de ficheros checkDelete(String filename)
checkLink(String library)
checkRead(FileDescriptor filedescriptor)
checkRead(String filename)
checkRead(String filename, Object executionContext)
checkWrite(FileDescriptor filedescriptor)
checkWrite(String filename)
comandos del sistema checkExec(String command)
interprete checkExit(int status)
paquete checkPackageAccess(String packageName)
checkPackageDefinition(String packageName)
propiedades checkPropertiesAccess()
checkPropertyAccess(String key)
checkPropertyAccess(String key, String def)
networking checkSetFactory()
windows checkTopLevelWindow(Object window)

Dependiendo de tu pol�tica de seguridad, puedes sobreescribir algunos o todos estos m�todos. Por ejemplo, sup�n que est�s escribiendo un Navegador Web o un visualizador de applets y quieres evitar que los applets utilicen sockets. Puedes hacer esto sobreescribiendo los cuatro m�todos que afectan al acceso a los sockets.

Muchos de los m�todos checkXXX() son llamados en m�ltiples situaciones. Ya viste esto cuando escribimos el PasswordSecurityManager en Escribir un Controlador de Seguridad -- el m�todo checkAccess(ThreadGroup g) es llamado cuando se crea un ThreadGroup, selecciona su estado de servicio, lo para, etc. Cuando sobreescribas un m�todo checkXXX() asegurate de que comprendes todas las situaciones en las que puede ser llamado.

La implementaci�n por defecto suministrada por la clase SecurityManager para todos los m�todos checkXXX() es.

public void checkXXX(. . .) {
    throw new SecurityException();
}

La mayor�a de las veces querr�a que haga algo m�s selectivo que prohibirlo todo! Por eso podr�as encontrar que debes sobresscribir todos los m�todos checkXXX() de SecurityManager.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP