CherryPy: BasicAuthentication

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 17. Mai 2008, 16:23

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
Zuletzt geändert von gerold am Sonntag 18. Mai 2008, 11:52, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
lunar

Samstag 17. Mai 2008, 18:17

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" ;)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 17. Mai 2008, 20:01

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

.
Zuletzt geändert von gerold am Sonntag 18. Mai 2008, 11:52, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
lunar

Sonntag 18. Mai 2008, 09:53

Ah, CherryPy bringt das also schon mit... ;)

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