You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Mariusz Wojcik <wo...@okno.pw.edu.pl> on 2004/05/16 19:53:23 UTC
Getting additional user's information from session object (authentication framework problem)
Hi
I'd like to keep in session some additional information about users. My sunrise-user.xml file looks like this:
*************************sunrise_user.xml ******************
<authentication>
<users>
<user>
<name>cocoon</name>
<password>cocoon</password>
<role>cocoon</role>
<data>
<name>hello</name>
<age>12</age>
</data>
</user>
</users>
</authentication>
**********************************************
I have no problem with getting ID, and role content, but when I use session transformer to get name or age I get this result:
************ session transformer result *****
<authentication>
<ID>cocoon</ID>
<role>cocoon</role>
<data>
<user>cocoon</user>
</data>
<type>cocoon.authentication</type>
<media>html</media>
</authentication>
<application>
*************************************************
As you can see my <data></data> elements, hasn't got <name> and <age> children... why ?????
This is part of my_session_view.xsp file:
*******************my_session_view.xsp *******************************
<session:getxml context="authentication" path="/"/>
<session:getxml context="authentication" path="/authentication/data/name"/>
****************************************************************************
At the sitemap's level I have tried to do it in this way (but every time I get nothing). My pipeline is auth-protect:
************************ sitemap *************************
<map:transform src="styles/user.xsl">
<parameter name="user" value="{/authentication/data/name}"/>
</map:transform>
************************************************************
What I'm doing wrong ? How can I get access to this additional data in xsp file, and in sitemap (I need them in sitemap too :( ) ?????
greeting
mario
Re: Getting additional user's information from session object (authentication framework problem)
Posted by Jan Hoskens <jh...@schaubroeck.be>.
I'm using the authentication framework too, but to get something from the session, I use session-fw:
xmlns:xsp-session-fw=http://apache.org/xsp/session-fw/1.0
<xsp:logic>
String roleFrag = <xsp-session-fw:getxml as="string" context="authentication" path="/authentication/role"/>;
DocumentFragment nameFragment = (DocumentFragment)<xsp-session-fw:getxml as="object" context="authentication" path="/authentication/data/name"/>;
String name = new String();
for(int i = 0; i< nameFragment.getChildNodes().getLength(); i++){
nameString.append(nameFragment.getChildNodes().item(i).getNodeValue());
}
</xsp:logic>
You can find it at the wiki's: http://wiki.cocoondev.org/Wiki.jsp?page=XspSessionFw
I use < .. as="object" ..> in the second variable because when I started using this, the <.. as="string" > only returned the first text node although the real text in an element may be split up in different text nodes. That's also why I have that for loop to append each text node to the string to obtain the full text. It's possible that this has been changed in the cvs head as I did mail it on this list and there was some response by the developer(s) of that logicsheet.
Kind Regards,
Jan
----- Original Message -----
From: Mariusz Wojcik
To: users@cocoon.apache.org
Sent: Sunday, May 16, 2004 7:53 PM
Subject: Getting additional user's information from session object (authentication framework problem)
Hi
I'd like to keep in session some additional information about users. My sunrise-user.xml file looks like this:
*************************sunrise_user.xml ******************
<authentication>
<users>
<user>
<name>cocoon</name>
<password>cocoon</password>
<role>cocoon</role>
<data>
<name>hello</name>
<age>12</age>
</data>
</user>
</users>
</authentication>
**********************************************
I have no problem with getting ID, and role content, but when I use session transformer to get name or age I get this result:
************ session transformer result *****
<authentication>
<ID>cocoon</ID>
<role>cocoon</role>
<data>
<user>cocoon</user>
</data>
<type>cocoon.authentication</type>
<media>html</media>
</authentication>
<application>
*************************************************
As you can see my <data></data> elements, hasn't got <name> and <age> children... why ?????
This is part of my_session_view.xsp file:
*******************my_session_view.xsp *******************************
<session:getxml context="authentication" path="/"/>
<session:getxml context="authentication" path="/authentication/data/name"/>
****************************************************************************
At the sitemap's level I have tried to do it in this way (but every time I get nothing). My pipeline is auth-protect:
************************ sitemap *************************
<map:transform src="styles/user.xsl">
<parameter name="user" value="{/authentication/data/name}"/>
</map:transform>
************************************************************
What I'm doing wrong ? How can I get access to this additional data in xsp file, and in sitemap (I need them in sitemap too :( ) ?????
greeting
mario