I've been trying to get the form validator and DB Validator working for
about a week now. I decided to try and just got the form stuff working first
but I can't even get that. I'm running Cocoon 2.0.2-dev and Tomcat 4.1.3.
In my sitemap.xmap I have the following:
<!--
| The page do_login does not actually exist this is just a dummy
| target for the login auth to take place at.
-->
<map:match pattern="do_login.xsp">
<map:act type="form-validator">
<map:parameter name="descriptor"
value="context://house_bills/descriptors/params.xml"/>
<map:parameter name="validate-set" value="user-pass"/>
<map:redirect-to uri="index.xsp"/>
</map:act>
<map:redirect-to uri="login.xsp"/>
</map:match>
login.xsp has a form that posts to do_login.xsp and has two inputs named
user_name and user_password.
Here is my params.xml
<?xml version="1.0"?>
<root>
<parameter name="user_name" type="string" nullable="no"/>
<parameter name="user_password" type="string" nullable="no"/>
<constraint-set name="name-pass">
<validate name="user_name"/>
<validate name="user_password"/>
</constraint-set>
</root>
I've checked through the logs and there aren't any context errors so Cocoon
seems to be finding the params.xml file OK. Everytime I submit the form I
get bounced back to the login.xsp page instead of getting sent to index.xsp.
It doesn't matter if I don't put anything in the inputs or have valid data
in both.
I would also like to be able to validate the user_name & password_fields
against a MySQL database and setting the value in the corresponding user_id
column in a session variable. I played with it a little and cocoon was
connection to the DB but not authenticating, I don't have my descriptor file
for that any more. Here is my DDL for the table I want to auth against.
CREATE TABLE `users` (
`user_id` int(11) unsigned NOT NULL auto_increment,
`user_name` varchar(255) NOT NULL default '',
`user_password` varchar(16) NOT NULL default '',
`user_first_name` varchar(255) NOT NULL default '',
`user_last_name` varchar(255) NOT NULL default '',
`user_email` varchar(255) NOT NULL default '',
`user_status` tinyint(4) unsigned NOT NULL default '1',
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_login` (`user_name`,`user_password`),
UNIQUE KEY `user_id` (`user_id`)
) TYPE=MyISAM
My other question with the DBAuth stuff is can cocoon run the submitted
password through MySQLs PASSWORD() function? I would really like to be able
to keep the password column in the table encrypted and still be able to use
the DBAuth stuff.
I hope someone can give me a hand with this. After a week of searching the
mailing lists, coocon site and web in general I'm stuck!
-Eric Dalquist
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>