%PDF- %PDF-
Direktori : /opt/alt/python27/lib/python2.7/site-packages/paste/auth/ |
Current File : //opt/alt/python27/lib/python2.7/site-packages/paste/auth/basic.pyc |
� a�Nc @ s� d Z d d l m Z d d l Td e f d � � YZ d e f d � � YZ e Z d g Z d � Z d e k r� d d l Z e j d e j � n d S( s� Basic HTTP/1.0 Authentication This module implements ``Basic`` authentication as described in HTTP/1.0 specification [1]_ . Do not use this module unless you are using SSL or need to work with very out-dated clients, instead use ``digest`` authentication. >>> from paste.wsgilib import dump_environ >>> from paste.httpserver import serve >>> # from paste.auth.basic import AuthBasicHandler >>> realm = 'Test Realm' >>> def authfunc(environ, username, password): ... return username == password >>> serve(AuthBasicHandler(dump_environ, realm, authfunc)) serving on... .. [1] http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#BasicAA i����( t HTTPUnauthorized( t *t AuthBasicAuthenticatorc B s5 e Z d Z d Z d � Z d � Z d � Z e Z RS( s5 implements ``Basic`` authentication details t basicc C s | | _ | | _ d S( N( t realmt authfunc( t selfR R ( ( sA /opt/alt/python27/lib/python2.7/site-packages/paste/auth/basic.pyt __init__ s c C s# t j d | j � } t d | � S( Ns Basic realm="%s"t headers( t WWW_AUTHENTICATEt tuplesR R ( R t head( ( sA /opt/alt/python27/lib/python2.7/site-packages/paste/auth/basic.pyt build_authentication$ s c C s� t | � } | s | j � S| j d d � \ } } d | j � k rP | j � S| j � j d � } | j d d � \ } } | j | | | � r� | S| j � S( Nt i R t base64t :( t AUTHORIZATIONR t splitt lowert stript decodeR ( R t environt authorizationt authmetht autht usernamet password( ( sA /opt/alt/python27/lib/python2.7/site-packages/paste/auth/basic.pyt authenticate( s ( t __name__t __module__t __doc__t typeR R R t __call__( ( ( sA /opt/alt/python27/lib/python2.7/site-packages/paste/auth/basic.pyR s t AuthBasicHandlerc B s e Z d Z d � Z d � Z RS( s/ HTTP/1.0 ``Basic`` authentication middleware Parameters: ``application`` The application object is called only upon successful authentication, and can assume ``environ['REMOTE_USER']`` is set. If the ``REMOTE_USER`` is already set, this middleware is simply pass-through. ``realm`` This is a identifier for the authority that is requesting authorization. It is shown to the user and should be unique within the domain it is being used. ``authfunc`` This is a mandatory user-defined function which takes a ``environ``, ``username`` and ``password`` for its first three arguments. It should return ``True`` if the user is authenticated. c C s | | _ t | | � | _ d S( N( t applicationR R ( R R"