Permisos | Java
Un permiso representa el acceso a un recurso del sistema. Para que se permita el acceso a un recurso para un subprograma (o una aplicación que se ejecuta con un administrador de seguridad), el permiso correspondiente debe otorgarse explícitamente al código que intenta el acceso.
Cuando un cargador de clases carga código Java en el tiempo de ejecución de Java, el cargador de clases asocia automáticamente la siguiente información con ese código:
- De donde se cargó el código
- Quién firmó el código (si alguien)
- Permisos predeterminados otorgados al código
Esta información está asociada con el código independientemente de si el código se descarga a través de una red que no es de confianza (por ejemplo, un subprograma) o se carga desde el sistema de archivos (por ejemplo, una aplicación local). La ubicación desde la que se cargó el código está representada por una URL, el firmante del código está representado por la cadena de certificados del firmante y los permisos predeterminados están representados por objetos java.security.Permission.
Los permisos predeterminados que se otorgan automáticamente al código descargado incluyen la capacidad de realizar conexiones de red con el host desde el que se originó. Los permisos predeterminados que se otorgan automáticamente al código cargado desde el sistema de archivos local incluyen la capacidad de leer archivos del directorio del que provienen y también de los subdirectorios de ese directorio.
Tenga en cuenta que la identidad del usuario que ejecuta el código no está disponible en el momento de la carga de la clase. Es responsabilidad del código de la aplicación autenticar al usuario final si es necesario (consulte la sección Autenticación). Una vez que el usuario ha sido autenticado, la aplicación puede asociar dinámicamente a ese usuario con la ejecución de código invocando el método doAs en la clase javax.security.auth.Subject.
Comentarios
Publicar un comentario