Czytałem sporo pytań na temat Stackoverflow na temat tego pytania, ale nie mogłem zakończyć znalezienia rozwiązania lub odpowiedzi na mój problem. Jeśli już istnieje, byłbym wdzięczny, gdyby ktoś dał podpowiedź ...Java Security Manager całkowicie wyłącza odbicie
Mój problem/pytanie jest, czy można całkowicie wyłączyć odbicie za niegodny zaufania kod? Funkcje takie jak getDeclaredMethods()
(Zobacz test.java). Mam już program Java Security Manager, który wyrzuca wyjątki bezpieczeństwa, jeśli kod próbuje zapisać/odczytać/etc. ...
Jeśli to możliwe, czy ktoś może mi pokazać, jak?
Bruno
test.java
TestClass cls = new TestClass();
Class c = cls.getClass();
// returns the array of Method objects
Method[] m = c.getDeclaredMethods();
for(int i = 0; i < m.length; i++) {
System.out.println("method = " + m[i].toString());
}
skopiowane kodu oraz dodano 'rzucić nowe SecurityException (...)' ale wyjątek nie zostanie rzucony ... funkcja nie jest nawet nazywany ... – Bruno
Tak, to nie nazywa dla 'getDeclaredMethods()', ale jeśli chcesz uzyskać dostęp do prywatnych/chronionych metod przez 'Method.setAccessible (true)' wywoływany jest 'SecurityManager'. – Stefan
Zaktualizowałem answear dla sprawdzenia dla 'getDeclardXYZ()'. Mam nadzieję, że to pomoże. – Stefan