2009-09-13 10 views
6

me entero de que tengo que escribir un archivo de política de conceder permiso para que mi applet de ...donde la ubicación del archivo de políticas para mi applet necesita permisos de los clientes para acceder al recurso?

pero realmente confundido con él ... :(

Quiero escribir un applet que es un mapa visor, necesito guardar teselas de imagen en el cliente que ejecuta mi applet para acceder localmente a las teselas para ganar velocidad y tiempo de forma segura ver el mapa que beneficia al usuario ...

así que el applet necesita permiso para leer/escribir y hacer el directorio en el cliente tempdir.

ahora, quiero escribir un archivo de política para obtener permanente Para mi applet, no quiero involucrar a los usuarios en esto, en lugar de, quiero escribir un archivo de política para otorgar permiso para el applet ...

ahora ¿dónde está la ubicación del archivo de política? en el archivo jar applet? cómo el applet usa el archivo de política?

por favor ayúdame

+0

Todavía estoy confundido después de leer todos estos comentarios. Mi pregunta es si necesita firmar y modificar el archivo de política, o simplemente firmar el applet. Creo que esa fue la pregunta original. –

Respuesta

4

Respuesta simple no es, no se puede cambiar la política de forma remota. ¿Dónde está la seguridad si puede anular la política en la máquina del usuario?

En un entorno empresarial, esto es posible a través de sistemas de administración/aprovisionamiento de escritorio. Si desea probar eso, puede actualizar el archivo de política manualmente. Se encuentra aquí en Windows,

${user.home}\java.policy 
    ${java.home}\lib\security\java.policy 

La primera política de cambios para un solo usuario y la segunda afecta a todo el sistema.

4

usar el archivo de política no es una buena idea porque es demasiado complicado para que los usuarios editen. en su lugar, debe obtener un certificado (cuesta $ 200 - $ 400/año) y firmar su applet. le permitirá acceder a los archivos.

puede probar un certificado de prueba que puede generar de forma gratuita. This puede ayudar.

+0

+1 para firmar el applet –

2

Debe firmar su applet y luego ajustar las operaciones del archivo en un bloque de código privilegiado como este.

  final String location = locationVal; 

    File f = (File) AccessController.doPrivileged(new PrivilegedAction() 
    { 
     public Object run() 
     { 
      System.out.println("Getting File : " + location); 
      File outputFile1 = new File(location); 
      return outputFile1; 
     } 
    }); 

Como referencia la ubicación predeterminada para un archivo de política JRE es la siguiente

en una máquina Windows.

C: \ Archivos de programa \ Java \ JRE versión \ lib \ security \ java.policy

Java 6 Update 13 directiva se almacena aquí

C: \ Archivos de programa \ Java \ jre1.6.0_13 \ lib \ security \ java.policy

Como se indicó anteriormente, no puede editar este archivo sin tener acceso a la máquina.

Cuestiones relacionadas