X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fcore%2FAuthenticatedApplicationContextInitialization.java;h=97dd6cae037f9798602a64a12844bf5bb924fd3a;hb=8d632c0f62ac4d0acbb837c580234bcecb43016e;hp=10877960cdbdc521c629e9449bf7e9007c397789;hpb=1d5afdce3e91054f07ddd3c98309c363b4cf1d46;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/AuthenticatedApplicationContextInitialization.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/AuthenticatedApplicationContextInitialization.java index 10877960c..97dd6cae0 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/AuthenticatedApplicationContextInitialization.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/AuthenticatedApplicationContextInitialization.java @@ -1,5 +1,5 @@ /* - * 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. @@ -16,6 +16,8 @@ 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; @@ -33,6 +35,8 @@ public class AuthenticatedApplicationContextInitialization extends ApplicationListener { // private Log log = LogFactory // .getLog(AuthenticatedApplicationContextInitialization.class); + /** If non empty, restricts to these beans */ + private List beanNames = new ArrayList(); @SuppressWarnings("rawtypes") public Object postProcessBeforeInstantiation(Class beanClass, @@ -41,7 +45,10 @@ public class AuthenticatedApplicationContextInitialization extends // 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; } @@ -81,4 +88,8 @@ public class AuthenticatedApplicationContextInitialization extends } } + public void setBeanNames(List beanNames) { + this.beanNames = beanNames; + } + }