How strange. When I deliberately remove the eventSubmit_doLogin (or
change it to something else,) I get the attached unhandled exception.
However, everything functions as expected when I set it properly - I get
sent back to login.vm if the userID or password is wrong.
Make sure eventSubmit_doLogin is getting set to something. I wish I
could duplicate the propblem. (Also, it appears that turbine has to be
shutdown and restart for it to re-read TR.props)
Will Stranathan
java.lang.NullPointerException
at java.util.Hashtable.containsKey(Hashtable.java(Compiled Code))
at
org.apache.turbine.services.template.TurbineTemplateService.getLayoutTemplateName(TurbineTemplateService.java:283)
at
org.apache.turbine.services.template.TurbineTemplate.getLayoutTemplateName(TurbineTemplate.java:85)
at
org.apache.turbine.modules.pages.TemplatePage.doBuildAfterAction(TemplatePage.java:141)
at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:157)
at org.apache.turbine.modules.Page.build(Page.java:92)
at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
at org.apache.turbine.Turbine.doGet(Turbine.java:372)
at org.apache.turbine.Turbine.doPost(Turbine.java:459)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:799)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:745)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:407)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:498)
Martin Poeschl wrote:
> i'm frustrated!!!!
>
> my velocity login app still does not work ... i am able to login now,
> but if i login with a wrong username/password the index.vm is shown ...
> i would expect login.vm to be shown again ...
>
> here is my LoginUser.java
>
> package org.test.login.modules.actions;
>
> import org.apache.velocity.Context;
>
> import org.apache.turbine.modules.actions.VelocityAction;
> import org.apache.turbine.om.security.User;
> import org.apache.turbine.util.RunData;
> import org.apache.turbine.services.security.TurbineSecurity;
> import org.apache.turbine.services.resources.TurbineResources;
> import org.apache.turbine.util.security.TurbineSecurityException;
>
> public class LoginUser extends VelocityAction
> {
> public void doLogin(RunData data, Context context)
> throws Exception
> {
> // This prevents a db hit on second Action call during page
> // generation. Turbine removes everything from the Session
> // before calling this method, so in this case we should
> // continue on with the Login procedure.
>
> if ( data.getUserFromSession() != null )
> {
> return;
> }
>
> String username = data.getParameters().getString ( "username",
> "" );
> String password = data.getParameters().getString ( "password",
> "" );
>
> User user = null;
> try
> {
> // Authenticate the user and get the object.
> user = TurbineSecurity.getAuthenticatedUser( username,
> password );
>
> // Store the user object.
> data.setUser(user);
>
> // Mark the user as being logged in.
> user.setHasLoggedIn(new Boolean(true));
>
> // Set the last_login date in the database.
> user.updateLastLogin();
>
> // This only happens if the user is valid; otherwise, we
> // will get a valueBound in the User object when we don't
> // want to because the username is not set yet. Save the
> // User object into the session.
> data.save();
> }
> catch ( TurbineSecurityException e )
> {
> System.out.println(e.getMessage());
> data.setMessage(TurbineResources.getString("login.error"));
> // Retrieve an anonymous user.
> data.setUser (TurbineSecurity.getAnonymousUser());
> setTemplate (data,
> TurbineResources.getString("template.login"));
> }
> }
>
> /**
> * This is used in the event that doLogin above fails.
> */
> public void doPerform(RunData data, Context context)
> throws Exception
> {
> data.setMessage("Can't find the button!");
> // Retrieve an anonymous user.
> data.setUser (TurbineSecurity.getAnonymousUser());
> setTemplate (data,
> TurbineResources.getString("template.login"));
> }
> }
>
>
> in TR.properties
>
> template.login = login.vm
>
> please help!!!!
>
>
>
>
> ------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
> Problems?: [EMAIL PROTECTED]
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?: [EMAIL PROTECTED]