1 25 26 package org.objectweb.jonas.webapp.jonasadmin.security; 27 28 import java.io.IOException ; 29 30 import javax.management.ObjectName ; 31 import javax.servlet.ServletException ; 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 35 import org.apache.struts.action.ActionForm; 36 import org.apache.struts.action.ActionForward; 37 import org.apache.struts.action.ActionMapping; 38 import org.objectweb.jonas.jmx.JonasManagementRepr; 39 import org.objectweb.jonas.jmx.JonasObjectName; 40 import org.objectweb.jonas.webapp.jonasadmin.WhereAreYou; 41 42 45 46 public class ApplyLdapRealmAction extends BaseMemoryRealmAction { 47 48 50 public ActionForward executeAction(ActionMapping p_Mapping, ActionForm p_Form 51 , HttpServletRequest p_Request, HttpServletResponse p_Response) 52 throws IOException , ServletException { 53 54 LdapRealmForm oForm = (LdapRealmForm) p_Form; 56 57 try { 59 if (oForm.getAction().equals("create") == true) { 61 oForm.setResource(oForm.getName()); 62 ObjectName oObjectName = JonasObjectName.securityService(); 64 String [] asParam = { 65 oForm.getName(), oForm.getInitialContextFactory(), oForm.getProviderUrl() 66 , oForm.getSecurityAuthentication(), oForm.getSecurityPrincipal() 67 , oForm.getSecurityCredentials(), oForm.getSecurityProtocol() 68 , oForm.getLanguage(), oForm.getReferral(), oForm.getStateFactories() 69 , oForm.getAuthenticationMode(), oForm.getUserPasswordAttribute() 70 , oForm.getUserRolesAttribute(), oForm.getRoleNameAttribute(), oForm.getBaseDn() 71 , oForm.getUserDn(), oForm.getUserSearchFilter(), oForm.getRoleDn() 72 , oForm.getRoleSearchFilter(), oForm.getAlgorithm()}; 73 String [] asSignature = { 74 "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String" 75 , "java.lang.String", "java.lang.String", "java.lang.String" 76 , "java.lang.String", "java.lang.String", "java.lang.String" 77 , "java.lang.String", "java.lang.String", "java.lang.String" 78 , "java.lang.String", "java.lang.String", "java.lang.String" 79 , "java.lang.String", "java.lang.String", "java.lang.String" 80 , "java.lang.String"}; 81 JonasManagementRepr.invoke(oObjectName, "addJResourceLDAP", asParam, asSignature); 82 refreshTree(); 84 m_WhereAreYou.selectNameNode(getTreeBranchName(DEPTH_SERVER) 86 + WhereAreYou.NODE_SEPARATOR + "security" + WhereAreYou.NODE_SEPARATOR 87 + "factory.ldap" + WhereAreYou.NODE_SEPARATOR + oForm.getName(), true); 88 oForm.setAction("apply"); 90 } 91 else { 92 ObjectName oObjectName = JonasObjectName.securityLdapFactory(oForm.getResource()); 94 setStringAttribute(oObjectName, "AuthenticationMode", oForm.getAuthenticationMode()); 95 setStringAttribute(oObjectName, "BaseDN", oForm.getBaseDn()); 96 setStringAttribute(oObjectName, "InitialContextFactory" 97 , oForm.getInitialContextFactory()); 98 setStringAttribute(oObjectName, "Language", oForm.getLanguage()); 99 setStringAttribute(oObjectName, "ProviderUrl", oForm.getProviderUrl()); 100 setStringAttribute(oObjectName, "Referral", oForm.getReferral()); 101 setStringAttribute(oObjectName, "RoleDN", oForm.getRoleDn()); 102 setStringAttribute(oObjectName, "RoleNameAttribute", oForm.getRoleNameAttribute()); 103 setStringAttribute(oObjectName, "RoleSearchFilter", oForm.getRoleSearchFilter()); 104 setStringAttribute(oObjectName, "SecurityAuthentication" 105 , oForm.getSecurityAuthentication()); 106 setStringAttribute(oObjectName, "SecurityCredentials", oForm.getSecurityCredentials()); 107 setStringAttribute(oObjectName, "SecurityPrincipal", oForm.getSecurityPrincipal()); 108 setStringAttribute(oObjectName, "SecurityProtocol", oForm.getSecurityProtocol()); 109 setStringAttribute(oObjectName, "StateFactories", oForm.getStateFactories()); 110 setStringAttribute(oObjectName, "UserDN", oForm.getUserDn()); 111 setStringAttribute(oObjectName, "UserPasswordAttribute" 112 , oForm.getUserPasswordAttribute()); 113 setStringAttribute(oObjectName, "UserRolesAttribute", oForm.getUserRolesAttribute()); 114 setStringAttribute(oObjectName, "UserSearchFilter", oForm.getUserSearchFilter()); 115 setStringAttribute(oObjectName, "Algorithm", oForm.getAlgorithm()); 116 } 117 if (oForm.isSave()) { 119 ObjectName onRealm = JonasObjectName.securityLdapFactory(oForm.getResource()); 120 JonasManagementRepr.invoke(onRealm, "saveConfig", null, null); 121 } 122 } 123 catch (Throwable t) { 124 addGlobalError(t); 125 saveErrors(p_Request, m_Errors); 126 return (p_Mapping.findForward("Global Error")); 127 } 128 return (p_Mapping.findForward("Ldap Realm")); 130 } 131 132 134 } 135 | Popular Tags |