1 17 package org.apache.geronimo.security.jaas; 18 19 import java.io.Externalizable ; 20 import java.io.Serializable ; 21 import java.rmi.Remote ; 22 import java.util.HashMap ; 23 import java.util.HashSet ; 24 import java.util.Iterator ; 25 import java.util.Map ; 26 import java.util.Set ; 27 import javax.security.auth.Subject ; 28 29 import org.apache.geronimo.security.jaas.server.JaasLoginModuleConfiguration; 30 31 32 38 public class LoginUtils { 39 public static void copyPrincipals(Subject to, Subject from) { 40 to.getPrincipals().addAll(from.getPrincipals()); 41 } 42 43 public static Map getSerializableCopy(Map from) { 44 Map to = new HashMap (); 45 for (Iterator it = from.keySet().iterator(); it.hasNext();) { 46 String key = (String ) it.next(); 47 Object value = from.get(key); 48 if (value instanceof Serializable || value instanceof Externalizable || value instanceof Remote ) { 49 to.put(key, value); 50 } 51 } 52 return to; 53 } 54 55 public static Set getSerializableCopy(Set from) { 56 Set to = new HashSet (); 57 for (Iterator it = from.iterator(); it.hasNext();) { 58 Object value = it.next(); 59 if (value instanceof Serializable || value instanceof Externalizable || value instanceof Remote ) { 60 to.add(value); 61 } 62 } 63 return to; 64 } 65 66 70 public static JaasLoginModuleConfiguration getSerializableCopy(JaasLoginModuleConfiguration config) { 71 return new JaasLoginModuleConfiguration(config.getLoginModuleClassName(), 72 config.getFlag(), 73 LoginUtils.getSerializableCopy(config.getOptions()), 74 config.isServerSide(), 75 config.getLoginDomainName(), 76 config.isWrapPrincipals(), 77 null); 78 } 79 } 80 | Popular Tags |