[jboss-user] [JBoss Seam] - identifier 'authenticator' resolved to null
tonylmai
do-not-reply at jboss.com
Tue Dec 18 14:09:00 EST 2007
Hello all,
I am trying to migrate my apps to Seam 2.0GA. Somehow, I am running into an exception where Seam could not look up my authenticator.
So I created a new project with plain pages. I run into the same problem.
Please help!
Here is the exception in the log
anonymous wrote : 10:28:51,875 INFO [EARDeployer] Started J2EE application: file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/
| 10:28:51,953 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
| 10:28:51,984 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
| 10:28:52,250 INFO [Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 35s:266ms
| 10:29:57,046 INFO [Contexts] starting up: org.jboss.seam.security.identity
| 10:29:57,781 INFO [RuleBase] parsing rules: /security.drl
| 10:29:58,078 INFO [Contexts] starting up: org.jboss.seam.web.session
| 10:29:58,671 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jboss-seam-mail.jar!/META-INF/seam-mail.taglib.xml
| 10:29:58,687 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jboss-seam-pdf.jar!/META-INF/seam-pdf.taglib.xml
| 10:29:58,703 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jboss-seam-ui.jar!/META-INF/s.taglib.xml
| 10:29:58,734 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
| 10:29:58,750 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
| 10:29:58,765 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
| 10:29:58,781 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
| 10:29:58,828 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
| 10:29:58,859 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/a4j.taglib.xml
| 10:29:58,875 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/ajax4jsf.taglib.xml
| 10:29:58,906 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/rich.taglib.xml
| 10:29:58,937 ERROR [STDERR] Dec 18, 2007 10:29:58 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
| INFO: Added Library from: jar:file:/D:/JudoFS/server/jboss-4.2.1.GA/server/default/deploy/marketdesk_wui.ear/marketdesk_wui.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/richfaces.taglib.xml
| 10:32:07,187 ERROR [SeamLoginModule] Error invoking login method
| javax.el.PropertyNotFoundException: Target Unreachable, identifier 'authenticator' resolved to null
| at org.jboss.el.parser.AstValue.getTarget(AstValue.java:38)
| at org.jboss.el.parser.AstValue.invoke(AstValue.java:95)
| at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
| at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:174)
| at org.jboss.seam.security.jaas.SeamLoginModule.login(SeamLoginModule.java:108)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at javax.security.auth.login.LoginContext.invoke(Unknown Source)
| at javax.security.auth.login.LoginContext.access$000(Unknown Source)
| at javax.security.auth.login.LoginContext$5.run(Unknown Source)
| at java.security.AccessController.doPrivileged(Native Method)
| at javax.security.auth.login.LoginContext.invokeCreatorPriv(Unknown Source)
| at javax.security.auth.login.LoginContext.login(Unknown Source)
| at org.jboss.seam.security.Identity.authenticate(Identity.java:335)
My login page is as followed (straight from seam gen):
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:rich="http://richfaces.org/rich"
| template="layout/template.xhtml">
|
| <ui:define name="body">
|
| <h:messages styleClass="message"/>
|
| <h:form id="login">
|
| <rich:panel>
| <f:facet name="header">Login</f:facet>
|
| <p>Please login using any username and password</p>
|
| <div class="dialog">
| <h:panelGrid columns="2" rowClasses="prop" columnClasses="name,value">
| <h:outputLabel for="username">Username</h:outputLabel>
| <h:inputText id="username"
| value="#{identity.username}"/>
| <h:outputLabel for="password">Password</h:outputLabel>
| <h:inputSecret id="password"
| value="#{identity.password}"/>
| <h:outputLabel for="rememberMe">Remember me</h:outputLabel>
| <h:selectBooleanCheckbox id="rememberMe"
| value="#{identity.rememberMe}"/>
| </h:panelGrid>
| </div>
|
| </rich:panel>
|
| <div class="actionButtons">
| <h:commandButton value="Login" action="#{identity.login}"/>
| </div>
|
| </h:form>
|
| </ui:define>
| </ui:composition>
And my pages.xml is modified as follow:
<page view-id="/login.xhtml">
| <navigation from-action="#{authenticator.checkIfLogedIn}">
| <rule if="#{identity.loggedIn}">
| <redirect view-id="/home.xhtml" />
| </rule>
| </navigation>
| <!-- Upon successful login, redirect to pending orders page -->
| <navigation from-action="#{identity.login}">
| <rule if="#{identity.loggedIn}">
| <redirect view-id="/home.xhtml" />
| </rule>
| <rule if-outcome="home">
| <redirect view-id="/home.xhtml" />
| </rule>
| </navigation>
| </page>
|
| <page view-id="*">
| <!-- After logged out, redisplay the login page -->
| <navigation from-action="#{identity.logout}">
| <redirect view-id="/login.xhtml" />
| </navigation>
| <!-- If application returns "home", redirect to pending orders page -->
| <navigation>
| <rule if-outcome="home">
| <redirect view-id="/home.xhtml" />
| </rule>
| ...
And my authenticator is (again, straight from seam gen)
package com.judofs.brokerage.marketdesk.action;
|
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.log.Log;
| import org.jboss.seam.security.Identity;
|
| @Name("authenticator")
| public class Authenticator {
| private @Logger Log log;
|
| private @In Identity identity;
|
| public boolean authenticate()
| {
| log.info("authenticating #0", identity.getUsername());
| //write your authentication logic here,
| //return true if the authentication was
| //successful, false otherwise
| identity.addRole("admin");
| return true;
| }
| }
Thanks in advance for your help.
-Tony
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113916#4113916
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113916
More information about the jboss-user
mailing list