Index: topia-security/src/java/org/codelutin/topia/security/util/TopiaSecurityUtil.java diff -u topia-security/src/java/org/codelutin/topia/security/util/TopiaSecurityUtil.java:1.4 topia-security/src/java/org/codelutin/topia/security/util/TopiaSecurityUtil.java:1.5 --- topia-security/src/java/org/codelutin/topia/security/util/TopiaSecurityUtil.java:1.4 Thu Oct 5 15:44:01 2006 +++ topia-security/src/java/org/codelutin/topia/security/util/TopiaSecurityUtil.java Fri Oct 13 15:23:32 2006 @@ -24,9 +24,9 @@ * Created: 15 févr. 2006 * * @author Arnaud Thimel -* @version $Revision: 1.4 $ +* @version $Revision: 1.5 $ * -* Mise a jour: $Date: 2006/10/05 15:44:01 $ +* Mise a jour: $Date: 2006/10/13 15:23:32 $ * par : $Author: ruchaud $ */ @@ -37,14 +37,18 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.Principal; +import java.util.Properties; import java.util.StringTokenizer; import javax.security.auth.Subject; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelutin.topia.TopiaContext; +import org.codelutin.topia.TopiaContextFactory; import org.codelutin.topia.TopiaException; import org.codelutin.topia.TopiaNotFoundException; +import org.codelutin.topia.framework.TopiaContextImpl; import org.codelutin.topia.persistence.TopiaId; import org.codelutin.topia.security.entities.authorization.TopiaEntityAuthorization; import org.codelutin.topia.security.entities.authorization.TopiaEntityAuthorizationImpl; @@ -249,7 +253,7 @@ /** * Permet de récupérer parmis la liste des principals, le principal de type * TopiaUser - * @return nom du principal de l'utilisateur + * @return topiaId du principal de l'utilisateur */ public static String getUserPrincipal() { Subject subject = Subject.getSubject(AccessController.getContext()); @@ -270,4 +274,20 @@ return null; } + /** + * Création d'un context sans sécurité + * @return retourne un contexte sans sécurité + */ + public static TopiaContext beginTransactionWithoutSecurity(TopiaContext transaction) throws TopiaException { + TopiaContextImpl context = (TopiaContextImpl) transaction; + Properties config = context.getConfig(); + + config.setProperty("topia.security.manager", ""); + String persistences = config.getProperty("topia.persistence.classes"); + config.setProperty("topia.persistence.classes", persistences + "," + TOPIA_SECURITY_PERSISTENCE_CLASSES); + + TopiaContext topiaContext = TopiaContextFactory.getContext(config); + return topiaContext.beginTransaction(); + } + } //TopiaSecurityUtil