Hi,
First of all, happy new year everyone!
Now, my question.
I am trying to deploy a login module that we wrote. At the time of
deployment, the classloader can not find the Login Module class and
throws a ClassNotFoundException. I think I am not understanding
something here. I would greatly appreciate it if someone can tell me
point me to the mistakes that I am making.
Basically I am deploying a web app, with an authentication filter. It
needs a login module called SampleJDBC, which would look like this:
SampleJDBC {
auth.MyLoginModule required debug=true ...<options>...
};
auth.MyLoginModule is present in WEB-INF/classes.
My geronimo-jetty.xml has the following:
<gbean name="geronimo.security:type=LoginModule,name=SampleJDBC"
class="org.apache.geronimo.security.jaas.LoginModuleGBean">
<attribute name="loginModuleClass" type="java.lang.String">
auth.MyLoginModule
</attribute>
<attribute name="options" type="java.util.Properties">
....<options>....
</attribute>
<attribute name="serverSide" type="boolean">true</attribute>
<attribute name="loginDomainName" type="java.lang.String">
SampleJDBC
</attribute>
</gbean>
<gbean name="geronimo.security:type=SecurityRealm,realm=SampleJDBC"
class="org.apache.geronimo.security.realm.GenericSecurityRealm">
<attribute name="realmName"type="java.lang.String">
SampleJDBC
</attribute>
<attribute name="loginModuleConfiguration"type="java.util.Properties">
LoginModule.1.REQUIRED=geronimo.security:type=LoginModule,name=SampleJDBC
</attribute>
<reference name="ServerInfo">
geronimo.system:role=ServerInfo
</reference>
<attribute name="autoMapPrincipalClasses" type="java.lang.String">
auth.MyPrincipal
</attribute>
</gbean>
<gbean
name="geronimo.security:type=ConfigurationEntry,jaasId=myTest"
class="org.apache.geronimo.security.jaas.ServerRealmConfigurationEntry">
<attribute name="applicationConfigName" type="java.lang.String">
myTest
</attribute>
<attribute name="realmName" type="java.lang.String">
SampleJDBC
</attribute>
</gbean>
The exception is ClassNotFoundException: auth.MyLoginModule
and it happens at
org.apache.geronimo.security.jaas.JaasLoginModuleConfiguration.getLoginModule(JaasLoginModuleConfiguration.java:65)
I have tried, with no luck, jar-ing the classes and then providing a
<dependency> in the geronimo-jetty.xml. We do use Spring, but I am not
sure whether that could be the problem, since this problems seems to be
happening when trying to initialize the realm.
Thanks very much!
-Hari