The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Rubric::WebApp::Login - web login processing

VERSION

version 0.01

 $Id: Login.pm,v 1.3 2005/04/07 22:44:42 rjbs Exp $

DESCRIPTION

This module checks for information needed to confirm that a user is logged into the Rubric.

METHODS

Rubric::WebApp::Login->check_for_login($webapp)

This method is called by the WebApp's cgiapp_init, and checks for a login attempt in the submitted request.

It looks for a login username by calling get_login_username, then converts the login name to a Rubric name by calling map_username and returns immediately if the name can't be shown valid by calling valid_username.

It retrieves the User object by calling get_login_user or, if needed, autocreate_user, and returns if it can't get a User object. It tries to authenticate by calling authenticate_login. If the user is authorized but isn't verified, he won't be logged in and the user_pending parameter will be set on the Rubric::WebApp object. Otherwise, he will be logged in with set_current_user.

Most of the methods above are virtual methods in this class, and should be implemented in subclasses. The bundled Rubric::WebApp::Login::Post (the default) and Rubric::WebApp::Login::HTTP serve as examples.

get_login_username($webapp)

This method returns the login username taken from the request. It is not necessarily the name of a Rubric user (see map_username).

This must be implemented by the login subclass.

map_username($username)

This method returns the Rubric username to which the login name maps. By default, it returns the $username verbatim.

valid_username($username)

Returns a true or false value, depending on whether the given username string is a valid username.

get_login_user($username)

Given a username, this method returns the Rubric::User object for the user.

autocreate_user($username)

If get_login_user can't find a user, this method is called to try to create the user automatically. By default, it always returns nothing. It may be subclassed for implementation. (For example, one could create domain users from a directory.)

authenticate_login($webapp, $user)

This method attempts to authenticate the user's login, checking the given password or performing any other needed check. It returns true or false.

This must be implemented by the login subclass.

set_current_user($webapp, $user)

This method sets the current user on the WebApp by setting the WebApp's "current_user" attribute to the Rubric::User object.

AUTHOR

Ricardo SIGNES, <rjbs@cpan.org>

BUGS

Please report any bugs or feature requests to bug-rubric@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT

Copyright 2004 Ricardo SIGNES. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.