/*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
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;
+ }
+
}