Hi All!

I want to create an application scoped security realm that uses an
application scoped db pool.

There is a very weird G2.1 behaviour.

I have chosen from the
http://localhost:8080/console/portal/Security/Security%20Realms,
new Database Realm, from the drop down list I have picked up my
application scoped database pool, I have entered SQL queries for
fetching users and groups, I have successfully tested it, but when I
chosen the: Show Plan (I want to see the plan because I want to have
both db pool and security realm application scoped) or Deploy Realm (I
don't want it really, but I want to show it as an example of G2.1
exception) I get this error:

java.lang.IllegalArgumentException: Invalid id: DB_POOL_NAME_HERE
        org.apache.geronimo.kernel.repository.Artifact.create(Artifact.java:61)
        org.apache.geronimo.kernel.repository.Artifact.create(Artifact.java:51)
        
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.actionGeneratePlan(SecurityRealmPortlet.java:427)
        
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.actionSaveRealm(SecurityRealmPortlet.java:494)
        
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.processAction(SecurityRealmPortlet.java:233)
        org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218)
        org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:139)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        
org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167)
        
org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:85)
        
org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:219)
        
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:112)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:806)

this is quite understandable since the DB_POOL_NAME_HERE is my
application scoped db pool, but the weird thing is I can test it from
the http://localhost:8080/console/portal/Security/Security%20Realms
and it works:

Create Security Realm -- Step 5: Login Results
Test Results:
        Login succeeded with 5 principals
Principals:
        xh      
org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
admin   org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
executor        
org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
viewer  org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
creator         
org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal

so can G2.1 define both application scoped security realm and db pool?

if yes, can You give me some tips, please?

Or is the above example a side effect of some kind bogus behaviour?

thanks in advance for any help

best regards
Łukasz

Reply via email to