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

NAME

Maplat::Web::Login - this module handles login, user managment and views

SYNOPSIS

This modules provides a complete user managment, including login handling, views and a few other gimmicks.

DESCRIPTION

This module is currently documented somewhat poorly (it was hacked together over a few months). Basically, you have to play around with the configuration and take a peek at the source code.

We're sorry for that!

Configuration

        <!-- Login module -->
        <module>
                <modname>authentification</modname>
                <pm>Login</pm>
                <options>
                        <db>maindb</db>
                        <memcache>memcache</memcache>
                        <sendmail>sendmail</sendmail>
                        <expires>+1h</expires>

                        <!-- Setting this flag to 1 enables the login module to
                                re-create the "admin" user if the table row does not
                                exist in the database - normally disabled because it
                                *might* be a security risk under certain circumstances -->
                        <check_admin_user>0</check_admin_user>

                        <userlevels admin="is_admin">
                                <!-- Highest to lowest, first applicable will be used
                                        as the users default view -->
                                <userlevel display="Admin" db="is_admin" defaultview="Admin" path="/admin/" />
                                <userlevel display="RBS" db="has_rbs" defaultview="RBS" path="/rbs/" />
                                <userlevel display="WDNE" db="has_wdne" defaultview="WDNE" path="/wdne/" />
                                <userlevel display="Chipcard" db="has_chipcard" defaultview="Chipcard" path="/chipcard/" />
                                <userlevel display="AFM" db="has_afm" defaultview="AFM Parameters" path="/afm/" />
                                <userlevel display="CC WebAPI" db="has_ccwebapi" defaultview="Chipcard WebAPI" path="/ccwebapi/" />
                                <userlevel display="Dev Test" db="has_devtest" defaultview="Dev: Docs" path="/devtest/" />
                        </userlevels>

                        <login>
                                <webpath>/user/login</webpath>
                                <pagetitle>Login</pagetitle>
                        </login>
                        <logout>
                                <webpath>/user/logout</webpath>
                                <pagetitle>Logout</pagetitle>
                        </logout>
                        <pwchange>
                                <webpath>/user/pwchange</webpath>
                                <pagetitle>Change Password</pagetitle>
                        </pwchange>
                        <useredit>
                                <webpath>/admin/useredit</webpath>
                                <pagetitle>Users</pagetitle>
                        </useredit>
                       <sessionrefresh>
                                <webpath>/user/sessionrefresh</webpath>
                                <pagetitle>Sessionrefresh</pagetitle>
                        </sessionrefresh>
                        <viewselect>
                                <webpath>/user/viewselect</webpath>
                                <pagetitle>Changing view</pagetitle>
                                <views>
                                        <view display="Admin" logodisplay="admin" path="/admin/"
                                                  db="is_admin" startpage="Commands" class="admin">
                                                <menu display="Status" path="rbsstatus/" admin="1" />
                                                <menu display="Commands" path="command/" admin="1" />
                                                <menu display="ProdLines" path="prodlines/admin" admin="1" />
                                                <menu display="DirCleaner" path="dircleaner/" admin="1" />
                                                <menu display="Sendmail" path="sendmail/" admin="1" />
                                                <menu display="Variables" path="variablesadm/" admin="1" />
                                                <menu display="Users" path="authentification/useredit" admin="1" />
                                        </view>
                                        <view display="CC WebAPI" logodisplay="admin" path="/ccwebapi/"
                                                  db="is_admin" startpage="Cards" class="admin">
                                                <menu display="Cards" path="ccwebapi/getcards" admin="0" />
                                        </view>
                                        <view display="Dev: Docs" logodisplay="devtest" path="/devtest/"
                                                  db="has_devtest" startpage="Text" class="devel">
                                                <menu display="Text" path="docswordprocessor/list" admin="0" />
                                                <menu display="Table" path="docsspreadsheet/list" admin="0" />
                                                <menu display="Search" path="docssearch/" admin="1" />
                                        </view>
                                </views>
                        </viewselect>
                </options>
        </module>

register_publicurl

Takes one argument. Register additional public URLS (need to be the FULL path).

get_login

Internal function.

get_logout

Internal function.

get_pwchange

Internal function.

get_sessionid

Internal function.

get_sessionrefresh

Internal function.

get_useredit

Internal function.

get_viewselect

Internal function.

postfilter

Internal function.

prefilter

Internal function.

prerender

Internal function. Blocks all unauthorized access.

validateSessionID

Internal function.

TODO

Get this module properly documented.

SEE ALSO

Maplat::Web

"If unsure, see source code or email the author"

AUTHOR

Rene Schickbauer, <rene.schickbauer@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2008-2011 by Rene Schickbauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.