File: dir-handlers-auh.html

package info (click to toggle)
libapache-mod-python 2%3A2.7.10-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,352 kB
  • ctags: 853
  • sloc: ansic: 2,785; python: 1,123; makefile: 298; sh: 172
file content (152 lines) | stat: -rw-r--r-- 5,451 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>5.1.6 PythonAuthenHandler</title>
<META NAME="description" CONTENT="5.1.6 PythonAuthenHandler">
<META NAME="keywords" CONTENT="modpython">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<link rel="STYLESHEET" href="modpython.css">
<link rel="first" href="modpython.html">
<link rel="contents" href="contents.html" title="Contents">
<link rel="index" href="genindex.html" title="Index">
<LINK REL="next" href="dir-handlers-tph.html">
<LINK REL="previous" href="dir-handlers-ach.html">
<LINK REL="up" href="dir-handlers.html">
<LINK REL="next" href="dir-handlers-tph.html">
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A href="dir-handlers-ach.html"><img src="icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-handlers.html"><img src="icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-handlers-tph.html"><img src="icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><A href="contents.html"><img src="icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.gif"
  border="0" height="32"
  alt="Index" width="32"></A></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" href="dir-handlers-ach.html">5.1.5 PythonAccessHandler</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-handlers.html">5.1 Handlers</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-handlers-tph.html">5.1.7 PythonTypeHandler</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION007160000000000000000">&nbsp;</A>
<a name="l2h-139">&nbsp;</a>
<BR>
5.1.6 PythonAuthenHandler
</H2>

<P>
<b><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Syntax"
 title="Syntax:"
 >Syntax:</a></em></b>
<i>Python*Handler Syntax</i>
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Context"
 title="Context:"
 >Context:</a></em>
server config, virtual host, directory, htaccess
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Override"
 title="Override:"
 >Override:</a></em>
not None
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Module"
 title="Module:"
 >Module:</a></em>
mod_python.c

<P>
This routine is called to check the authentication information sent
with the request (such as looking up the user in a database and
verifying that the [encrypted] password sent matches the one in the
database).

<P>
To obtain the username, use <code>req.connection.user</code>. To obtain the
password entered by the user, use the <code>req.get_basic_auth_pw()</code>
function.

<P>
A return of <code>apache.OK</code> means the authentication succeeded. A
return of <code>apache.HTTP_UNAUTHORIZED</code> with most browser will bring
up the password dialog box again. A return of
<code>apache.HTTP_FORBIDDEN</code> will usually show the error on the
browser and not bring up the password dialog
<code>again. HTTP_FORBIDDEN</code> should be used when authentication
succeeded, but the user is not permitted to access a particular URL.

<P>
An example authentication handler might look like this: 

<P>
<dl><dd><pre class="verbatim">
def authenhandler(req):

    pw = req.get_basic_auth_pw()
    user = req.connection.user     
    if user == "spam" and pw == "eggs":
        return apache.OK
    else:
        return apache.HTTP_UNAUTHORIZED
</pre></dl>    

<P>
<b>Note:</b> <code>req.get_basic_auth_pw()</code> must be called prior to using the
<code>req.connection.user</code> value. Apache makes no attempt to decode the
authentication information unless <code>req.get_basic_auth_pw()</code> is called.

<P>

<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A href="dir-handlers-ach.html"><img src="icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-handlers.html"><img src="icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-handlers-tph.html"><img src="icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><A href="contents.html"><img src="icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.gif"
  border="0" height="32"
  alt="Index" width="32"></A></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" href="dir-handlers-ach.html">5.1.5 PythonAccessHandler</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-handlers.html">5.1 Handlers</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-handlers-tph.html">5.1.7 PythonTypeHandler</A>
<hr>
<span class="release-info">Release 2.7.10, documentation updated on December 07, 2003.</span>
</DIV>
<!--End of Navigation Panel-->

</BODY>
</HTML>