1 Reply Latest reply: Jul 27, 2012 1:56 PM by Adrian Chia RSS

Seam security: authenticator not located

francesco milesi Newbie

Hi everibody

 

I installed eclipse indigo, jboss tools 3.3 and gwt 2.4 plugin. I created a project from the jboss central gwt project template then I tried to add the security modules to the project pom.

In the WEB-INF/classes/META-INF directory I put the seam-beans.xml file and the security.drl file. Here is my seam-beans.xml

 

<beans    xmlns="http://java.sun.com/xml/ns/javaee"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xmlns:s="urn:java:ee"

          xmlns:security="urn:java:org.jboss.seam.security"

          xmlns:pm="urn:java:org.jboss.seam.security.permission"

          xmlns:plidm="urn:java:org.jboss.seam.security.management.picketlink"

          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://jboss.org/schema/cdi/beans_1_0.xsd">

 

    <!--

          <interceptors>

        <class>org.jboss.seam.security.SecurityInterceptor</class>

    </interceptors>   

     -->

 

    <security:IdentityImpl>

          <s:modifies/>

          <security:authenticatorName>databaseAuthenticator1</security:authenticatorName>

    </security:IdentityImpl>

 

    <plidm:JpaIdentityStoreConfiguration>

                    <s:replaces/>  

                <plidm:identityClass>it.milesif.ecar.security.model.IdentityObject</plidm:identityClass>

                <plidm:credentialClass>it.milesif.ecar.security.model.IdentityObjectCredential</plidm:credentialClass>

                <plidm:relationshipClass>it.milesif.ecar.security.model.IdentityObjectRelationship</plidm:relationshipClass>

                <plidm:roleTypeClass>it.milesif.ecar.security.model.IdentityRoleType</plidm:roleTypeClass>

                <plidm:attributeClass>it.milesif.ecar.security.model.IdentityObjectAttribute</plidm:attributeClass>

             </plidm:JpaIdentityStoreConfiguration>    

 

 

</beans>

 

 

The seam-beans file is loaded correctly (if I change the authenticator name, it changes in the error message), but I keep getting the following message, when trying to log in using a jsf form.

 

09:53:49,563 ERROR [org.jboss.seam.security.IdentityImpl] (http-localhost-127.0.0.1-8080-1) No authenticator with name [databaseAuthenticator] was found

09:53:51,568 ERROR [org.jboss.seam.security.IdentityImpl] (http-localhost-127.0.0.1-8080-1) Login failed: org.jboss.seam.security.AuthenticationException: An Authenticator could not be located

          at org.jboss.seam.security.IdentityImpl.authenticate(IdentityImpl.java:221) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.IdentityImpl.login(IdentityImpl.java:163) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.IdentityImpl$Proxy$_$$_WeldClientProxy.login(IdentityImpl$Proxy$_$$_WeldClientProxy.java) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03]

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03]

 

 

I have tried bot with the SecurityInterceptor enabled and disabled and the entities are loaded correctly. I have also read other posts about the same problem and made differents attempts without success.

Does anybody have an idea what I am missing?

 

I attached the project pom in case it helps.

 

Thanks for your help.

 

Francesco