No. This isn't working right. I don't know what I'm doing wrong. I take the exported plugin. Extract it to directory "x".
Then I change only the groupId everywhere in the plugin frmo "org.apache.geronimo.framework" to "test" and version from "2.2-SNAPSHOT" to "2.2". Then I jar it again. Then I start geronimo and deploy this with deploy.sh install-plugin. Successfully installed: test/server-security-config/2.2/car I stop the server, and then edit artifact_aliases.properties and change: org.apache.geronimo.framework/server-security-config//car=org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car test/server-security-config//car=test/server-security-config/2.2/car TO org.apache.geronimo.framework/server-security-config//car=test/server-security-config/2.2/car org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car=test/server-security-config/2.2/car test/server-security-config//car=test/server-security-config/2.2/car And config.xml from: <module name="org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car"/> <module name="test/server-security-config/2.2/car"/> TO: <module name="org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car" load="false"/> <module name="test/server-security-config/2.2/car"/> Then I try and start the server, and all I get is this, ie. it starts and right after loading my plugin stops the server without an error. 2009-09-11 22:14:37,642 INFO [Log4jService] ---------------------------------------------- 2009-09-11 22:14:37,643 INFO [Log4jService] Started Logging Service 2009-09-11 22:14:37,643 INFO [Log4jService] Runtime Information: 2009-09-11 22:14:37,644 INFO [Log4jService] Install Directory = /opt/testkms/server/geronimo-2.2-20090908 2009-09-11 22:14:37,645 INFO [JvmVendor] Sun JVM 1.5.0_17 2009-09-11 22:14:37,645 INFO [Log4jService] JVM in use = Sun JVM 1.5.0_17 2009-09-11 22:14:37,645 INFO [Log4jService] Java Information: 2009-09-11 22:14:37,645 INFO [Log4jService] System property [java.runtime.name] = Java(TM) 2 Runtime Environment, Standard Edition 2009-09-11 22:14:37,645 INFO [Log4jService] System property [java.runtime.version] = 1.5.0_17-b04 2009-09-11 22:14:37,645 INFO [Log4jService] System property [os.name] = Linux 2009-09-11 22:14:37,645 INFO [Log4jService] System property [os.version] = 2.6.24-24-generic 2009-09-11 22:14:37,645 INFO [Log4jService] System property [sun.os.patch.level] = unknown 2009-09-11 22:14:37,645 INFO [Log4jService] System property [os.arch] = i386 2009-09-11 22:14:37,645 INFO [Log4jService] System property [java.class.version] = 49.0 2009-09-11 22:14:37,645 INFO [Log4jService] System property [locale] = en_ZA 2009-09-11 22:14:37,646 INFO [Log4jService] System property [unicode.encoding] = UnicodeLittle 2009-09-11 22:14:37,646 INFO [Log4jService] System property [file.encoding] = UTF-8 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.vm.name] = Java HotSpot(TM) Client VM 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.vm.vendor] = Sun Microsystems Inc. 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.vm.version] = 1.5.0_17-b04 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.vm.info] = mixed mode 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.home] = /opt/kms/java/sun-jdk1.5.0_17/jre 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.classpath] = null 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.library.path] = /opt/kms/java/sun-jdk1.5.0_17/jre/lib/i386/client:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/i386:/opt/kms/java/sun-jdk1.5.0_17/jre/../lib/i386 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.endorsed.dirs] = /opt/testkms/server/geronimo-2.2-20090908/lib/endorsed:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/endorsed 2009-09-11 22:14:37,646 INFO [Log4jService] System property [java.ext.dirs] = /opt/testkms/server/geronimo-2.2-20090908/lib/ext:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/ext 2009-09-11 22:14:37,646 INFO [Log4jService] System property [sun.boot.class.path] = /opt/testkms/server/geronimo-2.2-20090908/lib/endorsed/yoko-spec-corba-1.0.jar:/opt/testkms/server/geronimo-2.2-20090908/lib/endorsed/yoko-rmi-spec-1.0.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/rt.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/i18n.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/sunrsasign.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/jsse.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/jce.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/lib/charsets.jar:/opt/kms/java/sun-jdk1.5.0_17/jre/classes 2009-09-11 22:14:37,646 INFO [Log4jService] ---------------------------------------------- 2009-09-11 22:14:39,041 INFO [KernelContextGBean] bound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=JavaCompContext at name java:comp 2009-09-11 22:14:39,043 INFO [KernelContextGBean] bound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=JavaContext at name java: 2009-09-11 22:14:39,043 INFO [KernelContextGBean] bound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=GeronimoContext at name ger: 2009-09-11 22:14:40,086 INFO [SystemProperties] Setting Property=javax.xml.soap.MetaFactory to Value=org.apache.geronimo.webservices.saaj.GeronimoMetaFactory 2009-09-11 22:14:40,086 INFO [SystemProperties] Setting Property=javax.xml.soap.MessageFactory to Value=org.apache.geronimo.webservices.saaj.GeronimoMessageFactory 2009-09-11 22:14:40,086 INFO [SystemProperties] Setting Property=java.net.preferIPv4Stack to Value=true 2009-09-11 22:14:40,086 INFO [SystemProperties] Setting Property=javax.xml.soap.SOAPConnectionFactory to Value=org.apache.geronimo.webservices.saaj.GeronimoSOAPConnectionFactory 2009-09-11 22:14:40,087 INFO [SystemProperties] Setting Property=javax.xml.soap.SOAPFactory to Value=org.apache.geronimo.webservices.saaj.GeronimoSOAPFactory 2009-09-11 22:14:40,087 INFO [SystemProperties] Setting Property=java.security.Provider to Value=SUN 2009-09-11 22:14:40,261 INFO [KernelContextGBean] unbound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=JavaContext at name java: 2009-09-11 22:14:40,264 INFO [KernelContextGBean] unbound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=GeronimoContext at name ger: 2009-09-11 22:14:40,264 INFO [KernelContextGBean] unbound gbean org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car,j2eeType=Context,name=JavaCompContext at name java:comp 2009-09-11 22:14:40,265 INFO [Log4jService] Stopping Logging Service 2009-09-11 22:14:40,265 INFO [Log4jService] ---------------------------------------------- Q On Fri, Sep 11, 2009 at 9:31 PM, Quintin Beukes <quin...@skywalk.co.za> wrote: > do i need to delete config.ser? > > Q > > On Fri, Sep 11, 2009 at 9:16 PM, Joe Dente <jde...@21technologies.com> wrote: >> That's how I got started. I have a project that includes a custom login >> module as well as a customized geronimo-plugin.xml that originally was an >> exported version of the server-security-config plugin. My plugin project >> creates a simple jar with the geronimo-plugin.xml in my jar's 'META-INF' >> folder. I then deploy this jar into Geronimo with the geronimo-plugin.xml >> being my jar's deployment plan. You can also try and build a car using the >> maven car plugin, although I haven't played around with this yet. I found >> this wiki article to be helpful: >> http://cwiki.apache.org/confluence/display/GMOxDOC22/Administering+plugins >> >> Joe >> >> --------------------- >> Sorry, I've never created a plugin. To create a new >> server-security-config plugin, do you mean I should copy >> server-security-config using the console's plugin export and modify >> it? >> >> Q >> >> On Fri, Sep 11, 2009 at 8:47 PM, Joe Dente <jde...@21technologies.com> wrote: >>> To reproduce it create your own server-security-config plugin that uses any >>> login module other than the properties-login gbean that is expected. You >>> then need to deploy your new server-security-config plugin and have it >>> completely replace the default server-security-config (see >>> http://cwiki.apache.org/confluence/display/GMOxDOC22/Basic+Hints+on+Security+Configuration). >>> I achieved this by telling the server-security-config car to not load in >>> the config.xml, telling my security plugin to load in the config.xml, and >>> then adding artifact aliases for both the 2.1.4 and wildcard-versioned >>> lines referring to the server-security-config plugin in the >>> artifact_aliases.properties file. >>> >>> In artifact_alases.properties: >>> >>> org.apache.geronimo.framework/server-security-config//car=com.my.geronimo/my-security-config/1.0/car >>> org.apache.geronimo.framework/server-security-config/2.1.4/car=org >>> com.my.geronimo/my-security-config/1.0/car >>> >>> In config.xml: >>> <module >>> name="org.apache.geronimo.framework/server-security-config/2.1.4/car" >>> load="false"/> >>> <module name="com.my.geronimo/my-security-config/1.0/car"/> >>> >>> Now try and startup Geronimo. You will see the error discussing the missing >>> expected gbean. >>> Hope this helps, >>> Joe >>> >>> >>> >>> ------------- >>> Errr. Ouch. *rubbing the brused area in his brain*. >>> >>> I'm not that on with everything you said. I think the best thing would >>> be to reproduce it. What would I do to reproduce it? >>> >>> Q >>> >>> On Fri, Sep 11, 2009 at 6:42 PM, David Jencks <david_jen...@yahoo.com> >>> wrote: >>>> >>>> On Sep 11, 2009, at 5:49 AM, Quintin Beukes wrote: >>>> >>>>> I'll be willing to have a look at it. >>>>> >>>>> can you give me a general idea what I'm supposed to look at and how it >>>>> would be done? >>>> >>>> IIRC the failure is caused by an unsatisfied single valued gbean reference >>>> to the properties login module gbean from something in the admin console. >>>> You need to find the gbean reference and change it to a collection valued >>>> reference so it's no longer a mandatory reference. You can wrap a >>>> collection valued reference with SingleElementCollection to make it act >>>> like >>>> an optional single valued reference. >>>> >>>> hope this is clear enough to help.. >>>> david jencks >>>> >>>>> >>>>> Q >>>>> >>>>> On Fri, Sep 11, 2009 at 12:07 AM, David Jencks <david_jen...@yahoo.com> >>>>> wrote: >>>>>> >>>>>> Hi Joe! >>>>>> On Sep 10, 2009, at 2:18 PM, Joe Dente wrote: >>>>>> >>>>>> Hi, >>>>>> I've been working on replacing Geronimo 2.1.4's server-security-config >>>>>> plugin's example security with our own security plugin. We need single >>>>>> sign >>>>>> on for our application which also means the same sign on process has to >>>>>> work >>>>>> with the Geronimo admin console. We need to be able to use custom realms >>>>>> and >>>>>> custom login modules in our server-security-config plugin replacement >>>>>> that >>>>>> may change depending on the environment we deploy to. I've run into two >>>>>> limitations so far that I've found documented online. One is that unless >>>>>> I >>>>>> want to re-deploy other plugins that use the 'geronimo-admin' security >>>>>> realm, than our custom security realm must be named 'geronimo-admin' as >>>>>> well. The other is that I ran >>>>>> intohttp://issues.apache.org/jira/browse/GERONIMO-4603, forcing me to >>>>>> creating a dummy properties-login gbean in order for the tomcat >>>>>> components >>>>>> to start up. >>>>>> >>>>>> In my experience this is incredibly annoying. I don't have time but >>>>>> wonder >>>>>> if anyone else can see about fixing this for 2.2. >>>>>> >>>>>> I've created alias' for my plugin over the server-security-config plugin >>>>>> in >>>>>> 'artifact-aliases.properties' file and I've also disabled the >>>>>> server-security-config plugin and added my plugin as a loaded module in >>>>>> the >>>>>> 'config.xml'. Unfortunately, I still cannot log into the Geronimo console >>>>>> using my custom security realm and login module. Geronimo has no problem >>>>>> starting with the current configuration and I can even login using my >>>>>> custom >>>>>> login module. Everything seems happy as far as the login process is >>>>>> concerned when I step through the code, but instead of seeing the >>>>>> Geronimo >>>>>> console I get a tomcat error page stating 'Access to the specified >>>>>> resource >>>>>> () has been forbidden'. The logs are completely clean as well as the >>>>>> console output. My only idea is that my admin users also need to be >>>>>> members >>>>>> of a specifically named Geronimo admin group (make my admin groups name >>>>>> exactly match the one setup in the default security plugin)? I have not >>>>>> tested this hypothesis out yet, because I have my own admin group that is >>>>>> used by our application that I would like to re-use as the Geronimo >>>>>> console's admin group. Any other thoughts? >>>>>> >>>>>> In 2.1.x you are stuck with the principal-role mapping in the ee >>>>>> application, although in 2.2 you can put it into a different plugin if >>>>>> you >>>>>> want and I think then swap it via an artifact-alias with one in a >>>>>> different >>>>>> plugin. >>>>>> So, that means that you need to supply the principals the principal-role >>>>>> mapping expects: >>>>>> <security xmlns="http://geronimo.apache.org/xml/ns/security-1.2"> >>>>>> <role-mappings> >>>>>> <role role-name="admin"> >>>>>> <principal >>>>>> >>>>>> class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal" >>>>>> name="admin" /> >>>>>> </role> >>>>>> </role-mappings> >>>>>> </security> >>>>>> >>>>>> So, your login module needs to supply a principal of >>>>>> class GeronimoGroupPrincipal and name "admin". >>>>>> Let us know if this doesn't work. >>>>>> thanks >>>>>> david jencks >>>>>> >>>>>> Thanks, >>>>>> Joe >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Quintin Beukes >>>> >>>> >>> >>> >>> >>> -- >>> Quintin Beukes >>> >> >> >> >> -- >> Quintin Beukes >> > > > > -- > Quintin Beukes > -- Quintin Beukes