2009-09-13 5 views
6

i dowiedzieć się, że muszę napisać plik zasad udzielania zgody na moim apletu ...gdzie lokalizacja pliku strategii dla mojego apletu, która potrzebuje uprawnień klientów do uzyskania dostępu do zasobu?

ale ja naprawdę mylić z nim ... :(

chcę napisać aplet, który jest mapa przeglądarka, muszę zapisać kafelki obrazu na kliencie, które uruchamiają mój aplet, aby uzyskać lokalny dostęp do kafelków dla uzyskania prędkości i czasu bezpiecznego przeglądania mapy, co jest korzystne dla użytkownika ...

, więc aplet musi uzyskać pozwolenie na odczyt/zapis i utwórz katalog na kliencie tempdir.

teraz, chcę napisać plik zasad, aby uzyskać perm ission do mojego apletu, nie chcę angażować użytkowników w to, zamiast, chcę napisać sam plik polityki, aby udzielić pozwolenia na aplet ...

gdzie jest teraz lokalizacja pliku strategii? w pliku jar apletu? jak aplet używa pliku strategii?

proszę mi pomóc

+0

Po przeczytaniu wszystkich komentarzy nadal jestem zdezorientowany. Moje pytanie brzmi: musisz podpisać i zmodyfikować plik polityki lub po prostu podpisać aplet. Uważam, że było to oryginalne pytanie. –

Odpowiedz

4

Prosta odpowiedź brzmi: nie, nie można zdalnie zmienić politykę. Gdzie jest zabezpieczenie, jeśli możesz po prostu zastąpić politykę na komputerze użytkownika?

W środowisku korporacyjnym jest to możliwe dzięki komputerowym systemom zarządzania/provisioningu. Jeśli chcesz przetestować to, możesz zaktualizować plik zasad ręcznie. Znajduje się tutaj na Windows,

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

Pierwsza z nich zmienia politykę dla pojedynczego użytkownika, a druga dotyczy całego systemu.

4

użycie pliku zasad nie jest dobrym pomysłem, ponieważ edytowanie jest zbyt skomplikowane. Zamiast tego należy uzyskać certyfikat (kosztuje 200 USD - 400 USD rocznie) i podpisać swój aplet. pozwoli ci uzyskać dostęp do plików.

możesz wypróbować certyfikat testowy, który możesz wygenerować za darmo. This może pomóc.

+0

+1 za podpisanie apletu –

2

Musisz podpisać swój aplet, a następnie owiń operacje na plikach w uprzywilejowanym bloku kodu, takiego jak ten.

  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; 
     } 
    }); 

Dla porównania domyślna lokalizacja pliku strategii JRE jest następujący

na komputerze z Windows.

C: \ Program Files \ Java \ JRE Version \ lib \ security \ java.policy

Java 6 Update 13 polityka jest przechowywany tutaj

C: \ Program Files \ Java \ jre1.6.0_13 \ lib \ security \ java.policy

Jak wspomniano powyżej, nie można edytować tego pliku bez dostępu do urządzenia.

Powiązane problemy