diff --git a/core/src/main/java/org/acegisecurity/util/FieldUtils.java b/core/src/main/java/org/acegisecurity/util/FieldUtils.java index 7523d82110..30a8cf7f12 100644 --- a/core/src/main/java/org/acegisecurity/util/FieldUtils.java +++ b/core/src/main/java/org/acegisecurity/util/FieldUtils.java @@ -44,14 +44,9 @@ public final class FieldUtils { public static void setProtectedFieldValue(String protectedField, Object object, Object newValue) { try { - // acgegi would silently fail to write to final fields - // FieldUtils.writeField(Object, field, true) only sets accessible on *non* public fields - // and then fails with IllegalAccessException (even if you make the field accessible in the interim! - // for backwards compatability we need to use a few steps Field field = getField(object.getClass(), protectedField); - field.setAccessible(true); field.set(object, newValue); - } catch (Exception x) { + } catch (IllegalAccessException x) { throw new RuntimeException(x); } }