No.  The code below implements an action that also implements the Authenticator interface. I don't know why you would do that.  The authentication framework is really nothing more than a set of actions that all interact with the AuthenticationManager. The AuthenticationManager will invoke the configured Authenticator.
 
The PipelineAuthenticator (which is what is used if you specify uri="cocoon://....") is implemented as
 
public class PipelineAuthenticator extends AbstractLogEnabled implements Serviceable, ThreadSafe, Disposable, Authenticator.
 
If you write your own Authenticator yours should look more or less just like it.  You should also look at the PipelineAuthenticator's authenticate method and look at what it does when an error occurs or authentication fails.
 
Also, with 2.1.3 and beyond you should really be using Serviceable instead of Composable for everything.
 
Ralph
-----Original Message-----
From: beyaNet Consultancy [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 04, 2004 3:24 PM
To: [EMAIL PROTECTED]
Subject: Re: ClassCastException

Ralph,

would I correct in implementing the Authenticator interface as so?:


import org.apache.cocoon.webapps.authentication.components.PipelineAuthenticator;


public class GetUserDetail2 extends AbstractAction implements ThreadSafe, Composable, Disposable, Authenticator

{

        as per my original attached java class....????

}



many thanks in advance


On 4 Feb 2004, at 23:07, Ralph Goers wrote:


You have specified that your authenticator is a Java class. It must implement the Authenticator interface.  Are you sure you really want to do that?  Using the PipelineAuthenticator allows you to invoke a pipeline to perform the authentication. Then you simply need a generator that returns the XML required by the authentication framework.

-----Original Message-----

From:beyaNet Consultancy [mailto:[EMAIL PROTECTED]

Sent:Wednesday, February 04, 2004 3:02 PM

To:[EMAIL PROTECTED]

Subject:ClassCastException



I am getting the above mentioned error from my Authentication Framework:




<handler name="beyarecords">


       <redirect-to uri="cocoon:/mySite"/>


       <authentication authenticator="test.GetUserDetail2"/>


</handler>





Here is the stack trace:





Original Exception: java.lang.ClassCastException


at org.apache.cocoon.webapps.authentication.components.DefaultAuthenticationManager.lookupAuthenticator(DefaultAuthenticationManager.java:330)


at org.apache.cocoon.webapps.authentication.components.DefaultAuthenticationManager.login(DefaultAuthenticationManager.java:241)


at org.apache.cocoon.webapps.authentication.acting.LoginAction.act(LoginAction.java:117)


at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:152)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)


at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)


at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)


at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)


at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)


at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)


at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:133)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)


at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)


at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163)


at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)


at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)


at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)


at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)


at org.apache.cocoon.Cocoon.process(Cocoon.java:656)


at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)


at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)


at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)


at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)


at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)


at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)


at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)


at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)


at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)


at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)


at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)


at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)


at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)


at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)


at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)


at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)


at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)


at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)


at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)


at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)


at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)


at java.lang.Thread.run(Thread.java:554)




---------------------------------------------------------------------

To unsubscribe, e-mail: [EMAIL PROTECTED]

For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to