Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 12aef6395c3678c929b08cd723fc1673 > files > 27

mod_python-2.7.6-1mdk.i586.rpm

<!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">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" href="modpython.css">
<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.6, documentation updated on August 04, 2001.</span>
</DIV>
<!--End of Navigation Panel-->

</BODY>
</HTML>