He creado un applet básico donde el usuario selecciona un archivo de su disco duro, lee la primera línea de este archivo y lo pasa a JavaScript para un preprocesamiento adicional, y luego cuando hace clic en un botón que intenta cargar ese archivo a través de una solicitud HTTP POST. Encontré un applet de código abierto muy básico para cargar archivos que copié y modifiqué para este último bit.Java Applet Permissions
El problema es que, sin embargo, no funciona del todo. Parece que está funcionando bien, pero luego me encuentro con dos inconvenientes relacionados con los permisos. Los mensajes de la consola de Java decir que el applet tuvo acceso denegado errores en los siguientes dos permisos:
java.lang.RuntimePermission setFactory
java.io.FilePermission read
Me parece extraño, porque pensé que había concedido el permiso para el applet ya cuando construí con el " autofirmado "opción marcada en NetBeans, y luego hizo clic para confirmar la pequeña ventana emergente de seguridad en el navegador.
Además, la parte que codifiqué, donde lee el archivo y pasa la primera línea a JavaScript funciona bien. ¡Este es un indicador bastante claro de que el applet puede leer desde el sistema de archivos local! El problema no comienza hasta que intento iniciar la carga. Una cosa a tener en cuenta, supongo, es que el proceso de carga parece ejecutarse en un nuevo hilo, mientras que el resto se ejecuta en la clase principal sin crear hilos.
Soy un principiante total en Java y sé muy poco acerca de los hilos en Java; ¿Debo pasar los permisos a este nuevo hilo de alguna manera? ¿O algo por el estilo? Gracias de antemano.
doPrivileged es enormemente peligroso. Como es la firma de los applets. –
Como está permitiendo que los applets lean archivos. Sin embargo, está ahí y la respuesta a la pregunta. –