Seite 1 von 1

CherryPy: BasicAuthentication

Verfasst: Samstag 17. Mai 2008, 16:23
von gerold
Hallo!

Dieses, einfachst mögliche, Beispiel soll verdeutlichen, wie man mit CherryPy HTTP Basic-Authentication nutzen kann um sich am Server zu authentifizieren. Das ist normalerweise die Anmeldung, die man kennt, wenn vom Browser ein Dialogfenster zum Eingeben eines Benutzernamens und eines Passworts angezeigt wird. --> http://de.wikipedia.org/wiki/Http#Basic_Authentication

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import md5
import cherrypy


class Root(object):
    
    def index(self):
        retval = 'Wenn du diesen Text siehst, dann bist du als "%s" eingelogt.'
        return retval % cherrypy.request.login
    
    index.exposed = True


def main():
    conf = {
        '/': {
            "tools.basic_auth.on": True,
            "tools.basic_auth.realm": 'localhost',
            "tools.basic_auth.users": {
                'test': md5.new('test').hexdigest()
            }
        }
    }
    cherrypy.quickstart(Root(), config = conf)


if __name__ == "__main__":
    main()
mfg
Gerold
:-)

Stichworte: basic_auth BASIC AUTH HTTP-Basic-Authentication HttpBasicAuthentication CherryPy Authentification

Re: CherryPy: BasicAuthentification

Verfasst: Samstag 17. Mai 2008, 18:17
von lunar
gerold hat geschrieben:Das ist normalerweise die Anmeldung, die man kennt, wenn vom Browser ein Dialogfenster zum Eingeben eines Benutzernamens und eines Passworts angezeigt wird. -->
Nicht notwendigerweise, es gibt immerhin auch HTTP Digest Authentication. Das zu implementieren, wird dann allerdings schon etwas aufwendiger ;)

Und es heißt tatsächlich "Authentication", und nicht "Authentification" ;)

HTTP Digest Authentication

Verfasst: Samstag 17. Mai 2008, 20:01
von gerold
lunar hat geschrieben:es gibt immerhin auch HTTP Digest Authentication. Das zu implementieren, wird dann allerdings schon etwas aufwendiger ;)
Hallo lunar!

:mrgreen:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import cherrypy


class Root(object):
    
    def index(self):
        retval = 'Wenn du diesen Text siehst, dann bist du als "%s" eingelogt.'
        return retval % cherrypy.request.login 
    
    index.exposed = True

    
def main():
    conf = {
        "/": {
            "tools.digest_auth.on": True,
            "tools.digest_auth.realm": 'localhost',
            "tools.digest_auth.users": {
                "test": "test",
            }
        },
    }
    cherrypy.quickstart(Root(), config = conf)


if __name__ == "__main__":
    main()
lg
Gerold
:-)

Stichworte: Digest Access Authentication

.

Verfasst: Sonntag 18. Mai 2008, 09:53
von lunar
Ah, CherryPy bringt das also schon mit... ;)

Das ist ja dann fast geschummelt, selbst implementieren ist gefragt ;)