1 17 package org.apache.geronimo.security.jaas.server; 18 19 import java.io.Serializable ; 20 import java.util.Map ; 21 import javax.security.auth.spi.LoginModule ; 22 23 import org.apache.geronimo.common.GeronimoSecurityException; 24 import org.apache.geronimo.security.jaas.LoginModuleControlFlag; 25 26 27 34 public class JaasLoginModuleConfiguration implements Serializable { 35 private final boolean serverSide; 36 private final String loginDomainName; 37 private final LoginModuleControlFlag flag; 38 private final String loginModuleName; 39 private final Map options; 40 private final boolean wrapPrincipals; 41 private final transient ClassLoader classLoader; 42 43 public JaasLoginModuleConfiguration(String loginModuleName, LoginModuleControlFlag flag, Map options, 44 boolean serverSide, String loginDomainName, boolean wrapPrincipals, ClassLoader classLoader) 45 { 46 this.serverSide = serverSide; 47 this.flag = flag; 48 this.loginModuleName = loginModuleName; 49 this.options = options; 50 this.loginDomainName = loginDomainName; 51 this.wrapPrincipals = wrapPrincipals; 52 this.classLoader = classLoader; 53 } 54 55 public JaasLoginModuleConfiguration(String loginModuleName, LoginModuleControlFlag flag, Map options, boolean serverSide, ClassLoader classLoader) { 56 this(loginModuleName, flag, options, serverSide, null, false, classLoader); 57 } 58 59 public String getLoginModuleClassName() { 60 return loginModuleName; 61 } 62 63 public LoginModule getLoginModule(ClassLoader loader) throws GeronimoSecurityException { 64 if (classLoader != null) { 66 loader = classLoader; 67 } 68 try { 69 return (LoginModule ) loader.loadClass(loginModuleName).newInstance(); 70 } catch (Exception e) { 71 throw new GeronimoSecurityException("Unable to instantiate login module", e); 72 } 73 } 74 75 public boolean isServerSide() { 76 return serverSide; 77 } 78 79 public LoginModuleControlFlag getFlag() { 80 return flag; 81 } 82 83 public Map getOptions() { 84 return options; 85 } 86 87 public String getLoginDomainName() { 88 return loginDomainName; 89 } 90 91 public boolean isWrapPrincipals() { 92 return wrapPrincipals; 93 } 94 } 95 | Popular Tags |