Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > media > contrib > by-pkgid > dddfd1c874d00a6a720179bd81bafd8d > files > 24

apache2-mod_python-2.0.47_3.1.0a-2mdk.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>5.1.7 PythonAuthenHandler</title>
<META NAME="description" CONTENT="5.1.7 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-auzh.html">
<LINK REL="previous" href="dir-handlers-ach.html">
<LINK REL="up" href="dir-handlers.html">
<LINK REL="next" href="dir-handlers-auzh.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.png"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-handlers.html"><img src="icons/up.png"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-handlers-auzh.html"><img src="icons/next.png"
  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.png"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.png"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.png"
  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.6 PythonAccessHandler</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-handlers.html">5.1 Request Handlers</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-handlers-auzh.html">5.1.8 PythonAuthzHandler</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION007170000000000000000">&nbsp;</A>
<a name="l2h-218">&nbsp;</a>
<BR>
5.1.7 PythonAuthenHandler
</H2>

<P>
<b><em class="citetitle"><a
 href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Syntax"
 title="Syntax:"
 >Syntax:</a></em></b>
<i>Python*Handler Syntax</i>
<BR><em class="citetitle"><a
 href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Context"
 title="Context:"
 >Context:</a></em>
server config, virtual host, directory, htaccess
<BR><em class="citetitle"><a
 href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Override"
 title="Override:"
 >Override:</a></em>
not None
<BR><em class="citetitle"><a
 href="http://httpd.apache.org/docs-2.0/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>
<div class="note"><b class="label">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.
</div>

<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.png"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-handlers.html"><img src="icons/up.png"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-handlers-auzh.html"><img src="icons/next.png"
  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.png"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.png"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.png"
  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.6 PythonAccessHandler</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-handlers.html">5.1 Request Handlers</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-handlers-auzh.html">5.1.8 PythonAuthzHandler</A>
<hr>
<span class="release-info">Release 3.1.0a, documentation updated on August 26, 2003.</span>
</DIV>
<!--End of Navigation Panel-->

</BODY>
</HTML>