You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by H....@MI.unimaas.nl on 2004/05/12 00:22:18 UTC
Problem with losing session context 'authentication' - looking fo
r workaround or bugfix
Hi,
Can someone please help me in finding either a workaround or a bugfix to the
following problem:
I loose the 'authentication' context in the session when I go from one
"protected" page to the next "protected" page when I access it directly
(i.e. by it's internal url).
In detail:
Setup:
- default Cocoon root sitemap with automounted subsitemap of my app.
- authentication-fw setup like the sample with the flowscripts (auth.js).
Works.
- all "public" urls go through the "protect" function to their "internal"
counterpart.
- all internal/*.html urls go to an appropriate javascript function
- all internal/*.form urls generate a form:
<map:match pattern="**/internal/*.form">
<map:generate type="jx" src="content/{2}Template.jx"/>
<map:transform type="cinclude"/>
<map:transform type="forms"/>
<map:transform src="stylesheets/resources/forms-samples-styling.xsl">
<map:parameter name="uri" value="stylesheets/resources"/>
</map:transform>
<map:call resource="html-layout"/>
<map:serialize type="xml"/>
</map:match>
- one of the cincludes is getUser:
<map:match pattern="getUser">
<map:generate src="system/authentication.xml"/>
<!-- this is <session:getxml context="authentication" path="/"/> -->
<map:transform type="session"/>
<map:serialize type="xml"/>
</map:match>
Function doSomething() {
var obj = getObject();
form.load(obj);
form.showForm("internal/someForm.form");
form.save(obj);
storeObject(obj);
cocoon.sendPage("internal/anotherForm.html"); <-- ERROR!!
}
The last line throws an exception which boils down to "cannot find
'authetication' context". I'm fairly sure the exception originates from the
sessionTransformer.
I have to rewrite it to cocoon.sendPage("public/anotherForm.html").
This works in simple cases, but when I add bizData they get lost in the
process. I.e.:
Function doSomething() {
var obj = getObject();
form.load(obj);
form.showForm("internal/someForm.form");
form.save(obj);
storeObject(obj);
var bizData = { object: obj}
cocoon.sendPage("public/anotherForm.html", bizData); <-- bizData is lost!!
}
To make things even worse:
I log in successfully and my first redirected page shows. Everything ok. I
now click on a menu item (-> public/doSomething.html). The forms shows ok,
but when I press submit I get the authentication error again. When studying
what happens it looks like a second thread is started (i.e. the function is
executed twice) and the error seems to occur when the second thread tries to
display the form.
What can I do?
Bye, Helma
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Problem with losing session context 'authentication' - looking
fo r workaround or bugfix
Posted by Joerg Heinicke <jo...@gmx.de>.
No help from my side and not much time to investigate at the moment. It
really sounds weird. And - that's the reason I write - I fear that I
will come to the same problem when I switch on authentication in my
application. I already have some test pipelines as it is my first
project with authentication framework. Have you done some remote
debugging to see what's going on?
Joerg
On 12.05.2004 00:22, H.vanderLinden@MI.unimaas.nl wrote:
> Hi,
>
> Can someone please help me in finding either a workaround or a bugfix to the
> following problem:
>
> I loose the 'authentication' context in the session when I go from one
> "protected" page to the next "protected" page when I access it directly
> (i.e. by it's internal url).
>
> In detail:
>
> Setup:
> - default Cocoon root sitemap with automounted subsitemap of my app.
> - authentication-fw setup like the sample with the flowscripts (auth.js).
> Works.
> - all "public" urls go through the "protect" function to their "internal"
> counterpart.
> - all internal/*.html urls go to an appropriate javascript function
> - all internal/*.form urls generate a form:
>
> <map:match pattern="**/internal/*.form">
> <map:generate type="jx" src="content/{2}Template.jx"/>
> <map:transform type="cinclude"/>
> <map:transform type="forms"/>
> <map:transform src="stylesheets/resources/forms-samples-styling.xsl">
> <map:parameter name="uri" value="stylesheets/resources"/>
> </map:transform>
> <map:call resource="html-layout"/>
> <map:serialize type="xml"/>
> </map:match>
>
> - one of the cincludes is getUser:
> <map:match pattern="getUser">
> <map:generate src="system/authentication.xml"/>
> <!-- this is <session:getxml context="authentication" path="/"/> -->
> <map:transform type="session"/>
> <map:serialize type="xml"/>
> </map:match>
>
> Function doSomething() {
> var obj = getObject();
> form.load(obj);
> form.showForm("internal/someForm.form");
> form.save(obj);
> storeObject(obj);
> cocoon.sendPage("internal/anotherForm.html"); <-- ERROR!!
> }
>
> The last line throws an exception which boils down to "cannot find
> 'authetication' context". I'm fairly sure the exception originates from the
> sessionTransformer.
>
> I have to rewrite it to cocoon.sendPage("public/anotherForm.html").
>
> This works in simple cases, but when I add bizData they get lost in the
> process. I.e.:
>
> Function doSomething() {
> var obj = getObject();
> form.load(obj);
> form.showForm("internal/someForm.form");
> form.save(obj);
> storeObject(obj);
> var bizData = { object: obj}
> cocoon.sendPage("public/anotherForm.html", bizData); <-- bizData is lost!!
> }
>
> To make things even worse:
>
> I log in successfully and my first redirected page shows. Everything ok. I
> now click on a menu item (-> public/doSomething.html). The forms shows ok,
> but when I press submit I get the authentication error again. When studying
> what happens it looks like a second thread is started (i.e. the function is
> executed twice) and the error seems to occur when the second thread tries to
> display the form.
>
> What can I do?
>
> Bye, Helma
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org