WebStack

Annotated examples/Common/Auth/__init__.py

407:3d0fda3123e2
2005-07-18 paulb [project @ 2005-07-18 21:11:51 by paulb] Added additional documentation to make configuration of the login redirect resource more obvious.
paulb@54 1
#!/usr/bin/env python
paulb@54 2
paulb@54 3
"A test of authentication/authorisation."
paulb@54 4
paulb@54 5
import WebStack.Generic
paulb@54 6
paulb@54 7
class AuthResource:
paulb@54 8
paulb@54 9
    "A resource demanding authentication."
paulb@54 10
paulb@54 11
    def respond(self, trans):
paulb@54 12
        trans.set_content_type(WebStack.Generic.ContentType("text/html"))
paulb@54 13
paulb@54 14
        # Write out confirmation, otherwise.
paulb@54 15
paulb@54 16
        out = trans.get_response_stream()
paulb@54 17
        out.write("""
paulb@54 18
<html>
paulb@54 19
  <body>
paulb@54 20
    <h1>Authorised</h1>
paulb@54 21
    <p>Hello user %s!</p>
paulb@54 22
  </body>
paulb@54 23
</html>
paulb@54 24
""" % (
paulb@79 25
    trans.get_user(),
paulb@54 26
))
paulb@54 27
paulb@79 28
class AuthAuthenticator:
paulb@79 29
paulb@79 30
    "An authenticator for the application."
paulb@79 31
paulb@79 32
    def authenticate(self, trans):
paulb@79 33
        user = trans.get_user()
paulb@83 34
        return user == "badger"
paulb@79 35
paulb@79 36
    def get_auth_type(self):
paulb@79 37
        return "Basic"
paulb@79 38
paulb@79 39
    def get_realm(self):
paulb@79 40
        return "AuthResource"
paulb@79 41
paulb@54 42
# vim: tabstop=4 expandtab shiftwidth=4