from twisted.cred import checkers
from twisted.internet import reactor
from twisted.web import server, resource
from twisted.web.woven import simpleguard
class SimpleResource(resource.Resource):
def getChild(self, path, request):
return self
def render_GET(self, request):
name = request.getComponent(simpleguard.Authenticated).name
return "hello my friend "+name
class HaHa(resource.Resource):
def getChild(self, path, request):
return self
def render_GET(self, request):
return """I don't know you!
login
"""
checker = checkers.InMemoryUsernamePasswordDatabaseDontUse()
checker.addUser("bob", "12345")
reactor.listenTCP(8889, server.Site(
simpleguard.guardResource(SimpleResource(), [checker],
nonauthenticated=HaHa())))
reactor.run()