Repository: juddi Updated Branches: refs/heads/master a56a64ffc -> c606f786f
JUDDI-933 all authenticated users are now populated into the database Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/c606f786 Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/c606f786 Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/c606f786 Branch: refs/heads/master Commit: c606f786f73979560410f10c0ae69a70d169f4e2 Parents: a56a64f Author: Alex <[email protected]> Authored: Sat Jul 25 17:03:50 2015 -0400 Committer: Alex <[email protected]> Committed: Sat Jul 25 17:03:50 2015 -0400 ---------------------------------------------------------------------- .../v3/auth/CryptedXMLDocAuthenticator.java | 46 ++++++++++++++++++++ .../v3/auth/HTTPContainerAuthenticator.java | 2 +- .../juddi/v3/auth/HTTPHeaderAuthenticator.java | 2 +- .../v3/auth/LdapExpandedAuthenticator.java | 2 +- .../juddi/v3/auth/LdapSimpleAuthenticator.java | 2 +- .../juddi/v3/auth/MD5XMLDocAuthenticator.java | 46 ++++++++++++++++++++ .../juddi/v3/auth/XMLDocAuthenticator.java | 44 ++++++++++++++++++- 7 files changed, 139 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java index eab3420..b581773 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java @@ -25,15 +25,20 @@ import java.security.NoSuchAlgorithmException; import javax.crypto.BadPaddingException; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; +import javax.persistence.EntityManager; +import javax.persistence.EntityTransaction; import javax.xml.bind.JAXBException; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.juddi.config.AppConfig; +import org.apache.juddi.config.PersistenceManager; import org.apache.juddi.config.Property; import org.apache.juddi.v3.client.cryptor.Cryptor; import org.apache.juddi.cryptor.CryptorFactory; +import org.apache.juddi.model.Publisher; +import static org.apache.juddi.v3.auth.XMLDocAuthenticator.log; import org.apache.juddi.v3.error.AuthenticationException; import org.apache.juddi.v3.error.ErrorMessage; import org.apache.juddi.v3.error.FatalErrorException; @@ -150,6 +155,47 @@ public class CryptedXMLDocAuthenticator extends XMLDocAuthenticator { throw new UnknownUserException(new ErrorMessage( "errors.auth.InvalidUserId", userID)); } + int MaxBindingsPerService = -1; + int MaxServicesPerBusiness = -1; + int MaxTmodels = -1; + int MaxBusinesses = -1; + try { + MaxBindingsPerService = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, -1); + MaxServicesPerBusiness = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, -1); + MaxTmodels = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, -1); + MaxBusinesses = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER, -1); + } catch (Exception ex) { + MaxBindingsPerService = -1; + MaxServicesPerBusiness = -1; + MaxTmodels = -1; + MaxBusinesses = -1; + log.error("config exception! " + userID, ex); + } + EntityManager em = PersistenceManager.getEntityManager(); + EntityTransaction tx = em.getTransaction(); + try { + tx.begin(); + Publisher publisher = em.find(Publisher.class, userID); + if (publisher == null) { + log.warn("Publisher \"" + userID + "\" was not found in the database, adding the publisher in on the fly."); + publisher = new Publisher(); + publisher.setAuthorizedName(userID); + publisher.setIsAdmin("false"); + publisher.setIsEnabled("true"); + publisher.setMaxBindingsPerService(MaxBindingsPerService); + publisher.setMaxBusinesses(MaxBusinesses); + publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness); + publisher.setMaxTmodels(MaxTmodels); + publisher.setPublisherName("Unknown"); + em.persist(publisher); + tx.commit(); + } + } finally { + if (tx.isActive()) { + tx.rollback(); + } + em.close(); + } return userID; } } http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java index e003aa3..71b9454 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java @@ -89,7 +89,7 @@ public class HTTPContainerAuthenticator implements Authenticator { tx.begin(); Publisher publisher = em.find(Publisher.class, user); if (publisher == null) { - log.warn("Publisher \"" + user + "\" was not found, adding the publisher in on the fly."); + log.warn("Publisher \"" + user + "\" was not found in the database, adding the publisher in on the fly."); publisher = new Publisher(); publisher.setAuthorizedName(user); publisher.setIsAdmin("false"); http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java index 99e79d9..7eeb221 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java @@ -94,7 +94,7 @@ public class HTTPHeaderAuthenticator implements Authenticator { tx.begin(); Publisher publisher = em.find(Publisher.class, user); if (publisher == null) { - log.warn("Publisher \"" + user + "\" was not found, adding the publisher in on the fly."); + log.warn("Publisher \"" + user + "\" was not found in the database, adding the publisher in on the fly."); publisher = new Publisher(); publisher.setAuthorizedName(user); publisher.setIsAdmin("false"); http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java index eb9018d..a2c2caa 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java @@ -169,7 +169,7 @@ public class LdapExpandedAuthenticator implements Authenticator { tx.begin(); Publisher publisher = em.find(Publisher.class, authorizedName); if (publisher == null) { - logger.warn("Publisher was not found, adding the publisher in on the fly."); + logger.warn("Publisher was not found in the database, adding the publisher in on the fly."); publisher = new Publisher(); publisher.setAuthorizedName(authorizedName); publisher.setIsAdmin("false"); http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java index f8793bf..532441c 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java @@ -170,7 +170,7 @@ public class LdapSimpleAuthenticator implements Authenticator { tx.begin(); Publisher publisher = em.find(Publisher.class, authorizedName); if (publisher == null) { - logger.warn("Publisher was not found, adding the publisher in on the fly."); + logger.warn("Publisher was not found in the database, adding the publisher in on the fly."); publisher = new Publisher(); publisher.setAuthorizedName(authorizedName); publisher.setIsAdmin("false"); http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java index 5e40a8c..0e65ae4 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java @@ -18,13 +18,17 @@ package org.apache.juddi.v3.auth; import java.io.IOException; +import javax.persistence.EntityManager; +import javax.persistence.EntityTransaction; import javax.xml.bind.JAXBException; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.juddi.config.AppConfig; +import org.apache.juddi.config.PersistenceManager; import org.apache.juddi.config.Property; +import org.apache.juddi.model.Publisher; import org.apache.juddi.v3.error.AuthenticationException; import org.apache.juddi.v3.error.ErrorMessage; import org.apache.juddi.v3.error.FatalErrorException; @@ -61,6 +65,7 @@ public class MD5XMLDocAuthenticator extends XMLDocAuthenticator { /** * */ + @Override public String authenticate(String userID, String credential) throws AuthenticationException, FatalErrorException { preProcess(userID, credential); @@ -116,6 +121,47 @@ public class MD5XMLDocAuthenticator extends XMLDocAuthenticator { throw new UnknownUserException(new ErrorMessage( "errors.auth.InvalidUserId", userID)); } + int MaxBindingsPerService = -1; + int MaxServicesPerBusiness = -1; + int MaxTmodels = -1; + int MaxBusinesses = -1; + try { + MaxBindingsPerService = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, -1); + MaxServicesPerBusiness = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, -1); + MaxTmodels = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, -1); + MaxBusinesses = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER, -1); + } catch (Exception ex) { + MaxBindingsPerService = -1; + MaxServicesPerBusiness = -1; + MaxTmodels = -1; + MaxBusinesses = -1; + log.error("config exception! " + userID, ex); + } + EntityManager em = PersistenceManager.getEntityManager(); + EntityTransaction tx = em.getTransaction(); + try { + tx.begin(); + Publisher publisher = em.find(Publisher.class, userID); + if (publisher == null) { + log.warn("Publisher \"" + userID + "\" was not found in the database, adding the publisher in on the fly."); + publisher = new Publisher(); + publisher.setAuthorizedName(userID); + publisher.setIsAdmin("false"); + publisher.setIsEnabled("true"); + publisher.setMaxBindingsPerService(MaxBindingsPerService); + publisher.setMaxBusinesses(MaxBusinesses); + publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness); + publisher.setMaxTmodels(MaxTmodels); + publisher.setPublisherName("Unknown"); + em.persist(publisher); + tx.commit(); + } + } finally { + if (tx.isActive()) { + tx.rollback(); + } + em.close(); + } return userID; } http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java index 8b3ad5c..1e9787d 100644 --- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java +++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java @@ -69,7 +69,7 @@ import org.apache.juddi.v3.error.UnknownUserException; */ public class XMLDocAuthenticator implements Authenticator { - private static Log log = LogFactory.getLog(AuthenticatorFactory.class); + protected static Log log = LogFactory.getLog(AuthenticatorFactory.class); /** Container for the user credentials */ Map<String,User> userTable; @@ -152,9 +152,51 @@ public class XMLDocAuthenticator implements Authenticator else throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidUserId", userID)); + int MaxBindingsPerService = -1; + int MaxServicesPerBusiness = -1; + int MaxTmodels = -1; + int MaxBusinesses = -1; + try { + MaxBindingsPerService = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, -1); + MaxServicesPerBusiness = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, -1); + MaxTmodels = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, -1); + MaxBusinesses = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER, -1); + } catch (Exception ex) { + MaxBindingsPerService = -1; + MaxServicesPerBusiness = -1; + MaxTmodels = -1; + MaxBusinesses = -1; + log.error("config exception! " + userID, ex); + } + EntityManager em = PersistenceManager.getEntityManager(); + EntityTransaction tx = em.getTransaction(); + try { + tx.begin(); + Publisher publisher = em.find(Publisher.class, userID); + if (publisher == null) { + log.warn("Publisher \"" + userID + "\" was not found in the database, adding the publisher in on the fly."); + publisher = new Publisher(); + publisher.setAuthorizedName(userID); + publisher.setIsAdmin("false"); + publisher.setIsEnabled("true"); + publisher.setMaxBindingsPerService(MaxBindingsPerService); + publisher.setMaxBusinesses(MaxBusinesses); + publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness); + publisher.setMaxTmodels(MaxTmodels); + publisher.setPublisherName("Unknown"); + em.persist(publisher); + tx.commit(); + } + } finally { + if (tx.isActive()) { + tx.rollback(); + } + em.close(); + } return userID; } + @Override public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException { EntityManager em = PersistenceManager.getEntityManager(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
