[Catalyst] User management with Catalyst (with email and URLs)

David Schmidt davewood at gmx.at
Thu Aug 26 11:10:16 GMT 2010


On Thu, Aug 26, 2010 at 12:41 PM,  <Daniel.Brunkhorst at dataport.de> wrote:
>>> Basically you need to setup a model (a common one would be
>>> DBIx::Class) to store your users.
>>> (http://search.cpan.org/~rkitover/Catalyst-Model-DBIC-Schema-
>>> 0.43/lib/Catalyst/Model/DBIC/Schema.pm)
>
> I am not going to use a database for authentication, so DBIx::Class is not useful for me in this case.
>
>
>>> CatalystX::SimpleLogin
>>> (http://search.cpan.org/~bobtfish/CatalystX-SimpleLogin-0.12/)
>>>
>>> Then you need to set up the Authentication Plugin
>>> (http://search.cpan.org/dist/Catalyst-Plugin-Authentication/)
>
> I was more interested in the email/URL-confirmation process and the above two modules you pointed me at cannot help me with that.
>
>
> Will look at the MojoMojo code to see if I can find an interesting starting point there. Thanks for your answers so far.
>
> Anyone got any more useful pointers for the email/URL-confirmation process?
>
> Cheers,
> Daniel.
>
>
> -----Ursprüngliche Nachricht-----
> Von: David Schmidt [mailto:davewood at gmx.at]
> Gesendet: Donnerstag, 26. August 2010 11:13
> An: The elegant MVC web framework
> Betreff: Re: [Catalyst] User management with Catalyst (with email and URLs)
>
> On Thu, Aug 26, 2010 at 10:46 AM,  <Daniel.Brunkhorst at dataport.de> wrote:
>> Dear list members,
>>
>> I guess what I am trying to do is a pretty common task for web developers.
>> So I am very astonished that a couple of hours spent searching the Internet
>> didn’t provide me with a good starting point for my efforts.
>>
>> Here’s what I would like to achieve:
>>
>> A user comes to a web page and enters his email address to join the fun. He
>> gets an email with a confirmation URL that leads him back to the site where
>> he entered his email address to begin with, he then gets a welcome message
>> and is presented a request to enter a password. With his email address and
>> the entered password he can from then on login to the protected area at any
>> time.
>>
>> And of course users do forget their passwords, so an automatic password
>> retrieval feature would come in handy, too.
>>
>> Anybody got any good pointers where to start looking for something I can
>> customize to my needs?
>>
>> I can’t imagine I am the first or only one wanting to achieve something like
>> the above using Catalyst. Right?
>>
>> Any hints appreciated.
>>
>> Thanks,
>>
>> Daniel.
>>
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>> Dev site: http://dev.catalyst.perl.org/
>>
>>
>
> Basically you need to setup a model (a common one would be
> DBIx::Class) to store your users.
> (http://search.cpan.org/~rkitover/Catalyst-Model-DBIC-Schema-0.43/lib/Catalyst/Model/DBIC/Schema.pm)
>
> CatalystX::SimpleLogin
> (http://search.cpan.org/~bobtfish/CatalystX-SimpleLogin-0.12/)
>
> Then you need to set up the Authentication Plugin
> (http://search.cpan.org/dist/Catalyst-Plugin-Authentication/)
>
> and thats pretty much it.
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
>

For that approach you need to store

email address
digest used in your URL
password

somewhere, that's what the model is for.

Anyways, what you want can be done with Catalyst.

1) user enters mailaddress and hits submit
2) you generate a digest
3) store digest + mailaddress in model
4) send digest in URL to mailaddress
5) user klicks the link
6) validate digest and request password
7) store pw in db

catalyst makes all this very easy.



More information about the Catalyst mailing list