1CGI::Application::PlugiUns:e:rACuCGtoIhn:et:nrAtipibpculatitecidaotnPi:eo:rnDl:i:sDPpollcuaugymi(en3n:)t:aAtuitohnentication::Display(3)
2
3
4
6 CGI::Application::Plugin::Authentication::Display - Generate bits of
7 HTML needed for authentication
8
10 The purpose of this code is to keep display code away from the back-end
11 of authentication management. It is an abstract base class and must be
12 used in conjunction with derived classes. Those derived classes can be
13 used in an number of ways:
14
15 • The subclass
16 CGI::Application::Plugin::Authentication::Display::Classic is
17 provided to ensure backwards compatibility with the old code. It
18 has the advantage of working out of the box but still retaining
19 flexibility.
20
21 • The subclass
22 CGI::Application::Plugin::Authentication::Display::Basic is
23 provided to ensure XHTML compliance and to leave styling to CSS
24 style-sheets.
25
26 • You can handle all the HTML side yourself in which case this code
27 is not even loaded.
28
29 • You can use derived classes in templates that have dot support,
30 which keeps the display code close to the templates. This has other
31 advantages. For example one can use the "enforce_protection" method
32 to mark a template as being only viewable after authentication. A
33 number of other methods can be called from the template that
34 provide information about the authentication status.
35
37 new
38 The constructor must be passed the CGI::Application object as the first
39 non-object argument. This allows derived modules to access the
40 authentication information.
41
42 login_box
43 This method will return the HTML for a login box that can be embedded
44 into another page. This is the same login box that is used in the
45 default authen_login runmode that the plugin provides.
46
47 This function is not implemented in this module. One must use a derived
48 class with an appropriate implementation of this function.
49
50 logout_form
51 This returns the simple bit of HTML need to have a logout button. The
52 form has '/?authen_logout=1' as the action but of course this can be
53 changed in derived modules.
54
55 enforce_protection
56 This method is useful when the class is being used in templates to mark
57 a certain template as for authenticated eyes only. So in
58 HTML::Template::Plugin::Dot one might have
59
60 <TMPL_VAR NAME="authen.enforce_protection">
61
62 and one must set "authen" to one of these objects via the
63 "HTML::Template::param" method. If authenticated it will resolve to a
64 simple string, otherwise it will croak.
65
66 login_title
67 This returns the TITLE parameter from the LOGIN_FORM section of the
68 config.
69
70 is_authenticated
71 username
72 last_login
73 last_access
74 is_login_timeout
75 login_attempts
76 These methods all provide access to the cognate methods on the
77 authentication object. They are provided as templates might find them
78 expressive.
79
81 This is alpha software and as such, the features and interface are
82 subject to change. So please check the Changes file when upgrading.
83
85 CGI::Application, perl(1)
86
88 Author: Cees Hek <ceeshek@gmail.com>; Co-maintainer: Nicholas Bamber
89 <nicholas@periapt.co.uk>.
90
92 Thanks to SiteSuite (http://www.sitesuite.com.au) for funding the
93 development of this plugin and for releasing it to the world.
94
95 Thanks to Christian Walde for suggesting changes to fix the
96 incompatibility with CGI::Application::Plugin::ActionDispatch and for
97 help with github.
98
100 Copyright (c) 2005, SiteSuite. All rights reserved. Copyright (c)
101 2010, Nicholas Bamber. All rights reserved.
102
103 This module is free software; you can redistribute it and/or modify it
104 under the same terms as Perl itself.
105
107 BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
108 FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
109 WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
110 PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
111 EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
112 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
113 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
114 YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
115 NECESSARY SERVICING, REPAIR, OR CORRECTION.
116
117 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
118 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
119 REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
120 TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
121 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
122 SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
123 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
124 FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
125 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
126 DAMAGES.
127
128
129
130perl v5.32.1 CGI::App2l0i2c1a-t0i1o-n2:6:Plugin::Authentication::Display(3)