package org.argeo.security.core;
import java.beans.PropertyDescriptor;
+import java.util.ArrayList;
+import java.util.List;
import org.springframework.beans.BeansException;
import org.springframework.beans.PropertyValues;
ApplicationListener {
// private Log log = LogFactory
// .getLog(AuthenticatedApplicationContextInitialization.class);
+ /** If non empty, restricts to these beans */
+ private List<String> beanNames = new ArrayList<String>();
@SuppressWarnings("rawtypes")
public Object postProcessBeforeInstantiation(Class beanClass,
// we will deauthenticate only when the application context has been
// refreshed in order to be able to deal with factory beans has well
if (!isAuthenticatedBySelf()) {
- authenticateAsSystem();
+ if (beanNames.size() == 0)
+ authenticateAsSystem();
+ else if (beanNames.contains(beanName))
+ authenticateAsSystem();
}
return null;
}
}
}
+ public void setBeanNames(List<String> beanNames) {
+ this.beanNames = beanNames;
+ }
+
}