[Twisted-web] new to Guard

Justin Johnson twisted-web@twistedmatrix.com
Mon, 15 Dec 2003 12:33:17 -0600


This is a multi-part message in MIME format.

--_----------=_1071513197164060
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="ISO-8859-1"

Attached is a TAC file showing how to do this in nevow.  You can use
either woven or nevow though.  If you use woven, just define Pages
instead of Renderers, and use site.Site instead of appserver.NevowSite.

-Justin

On Mon, 15 Dec 2003 19:03:15 +0200, orya@bgumail.bgu.ac.il said:
> 
> 
> > Hello there my Twisted fellow mates,
> > 
> > I have used Twisted to build an http web interface.
> > i want to add an authentication form before logging into the site
> > i'm a bit confused from the cred/guard documentation...
> > 
> > How do i attach a guard to my existing web server??
> > And how do i redirect to the main page after logged in??
> > I'll appriciate it if someone can guide me through the initial steps.
> > 
> > here is an little example of the main class code:
> > *************************************************
> > import os
> > 
> > from twisted.web import server, static
> > from twisted.application import service, internet
> > 
> > from main import MainPage
> > 
> > ##########################
> > 
> > # Create Web server
> > root = MainPage() # inherits from page.Page
> > root.putChild("css", static.File("css"))    # css subdir
> > site = server.Site(root)
> > 
> > # Create Application
> > application = service.Application("webserver")
> > 
> > # Create Web service
> > port = 8080
> > web = internet.TCPServer(port, site)
> > web.setServiceParent(application)
> > 
> > 
> > 
> > _______________________________________________
> > Twisted-Python mailing list
> > Twisted-Python@twistedmatrix.com
> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> > 
> 
> 
> _______________________________________________
> Twisted-web mailing list
> Twisted-web@twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

--_----------=_1071513197164060
Content-Disposition: attachment; filename="guarded.tac"
Content-Transfer-Encoding: base64
Content-Type: application/unknown; name="guarded.tac"

ZnJvbSB0d2lzdGVkLndlYi53b3ZlbiBpbXBvcnQgZ3VhcmQKZnJvbSB0d2lz
dGVkLmFwcGxpY2F0aW9uIGltcG9ydCBzZXJ2aWNlLCBpbnRlcm5ldApmcm9t
IHR3aXN0ZWQuY3JlZCBpbXBvcnQgcG9ydGFsLCBjaGVja2Vycwpmcm9tIHR3
aXN0ZWQud2ViIGltcG9ydCByZXNvdXJjZSwgc2VydmVyLCB1dGlsCmZyb20g
dHdpc3RlZC5jcmVkLnBvcnRhbCBpbXBvcnQgUG9ydGFsCmZyb20gdHdpc3Rl
ZC5jcmVkLmNoZWNrZXJzIGltcG9ydCBBbGxvd0Fub255bW91c0FjY2Vzcywg
SW5NZW1vcnlVc2VybmFtZVBhc3N3b3JkRGF0YWJhc2VEb250VXNlCmZyb20g
dHdpc3RlZC53ZWIud292ZW4uZ3VhcmQgaW1wb3J0IFVzZXJuYW1lUGFzc3dv
cmRXcmFwcGVyLCBTZXNzaW9uV3JhcHBlcgpmcm9tIHR3aXN0ZWQuY3JlZC5j
cmVkZW50aWFscyBpbXBvcnQgSUFub255bW91cwoKZnJvbSBuZXZvdyBpbXBv
cnQgcmVuZGVyZXIsIHRhZ3MsIGFwcHNlcnZlcgoKCiMjIyBSZW5kZXJlcnMK
CmNsYXNzIE5vdExvZ2dlZEluKHJlbmRlcmVyLlJlbmRlcmVyKToKICAgICIi
IlRoZSByZXNvdXJjZSB0aGF0IGlzIHJldHVybmVkIHdoZW4geW91IGFyZSBu
b3QgbG9nZ2VkIGluIiIiCiAgICBkb2N1bWVudCA9IHRhZ3MuaHRtbFsKICAg
ICAgICB0YWdzLmhlYWRbdGFncy50aXRsZVsiTm90IExvZ2dlZCBJbiJdXSwK
ICAgICAgICB0YWdzLmJvZHlbCiAgICAgICAgICAgIHRhZ3MuZm9ybShhY3Rp
b249Z3VhcmQuSU5JVF9QRVJTUEVDVElWRSlbCiAgICAgICAgICAgICAgICB0
YWdzLnRhYmxlWwogICAgICAgICAgICAgICAgICAgIHRhZ3MudHJbCiAgICAg
ICAgICAgICAgICAgICAgICAgIHRhZ3MudGRbICJVc2VybmFtZToiIF0sCiAg
ICAgICAgICAgICAgICAgICAgICAgIHRhZ3MudGRbIHRhZ3MuaW5wdXQodHlw
ZT0ndGV4dCcsbmFtZT0ndXNlcm5hbWUnKSBdLAogICAgICAgICAgICAgICAg
ICAgIF0sCiAgICAgICAgICAgICAgICAgICAgdGFncy50clsKICAgICAgICAg
ICAgICAgICAgICAgICAgdGFncy50ZFsgIlBhc3N3b3JkOiIgXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgdGFncy50ZFsgdGFncy5pbnB1dCh0eXBlPSdw
YXNzd29yZCcsbmFtZT0ncGFzc3dvcmQnKSBdLAogICAgICAgICAgICAgICAg
ICAgIF0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICB0YWdz
LmlucHV0KHR5cGU9J3N1Ym1pdCcpLAogICAgICAgICAgICAgICAgdGFncy5w
LAogICAgICAgICAgICBdCiAgICAgICAgXQogICAgXQoKY2xhc3MgTG9nZ2Vk
SW4ocmVuZGVyZXIuUmVuZGVyZXIpOgogICAgIiIiVGhlIHJlc291cmNlIHRo
YXQgaXMgcmV0dXJuZWQgd2hlbiB5b3UgbG9naW4iIiIKICAgIGRvY3VtZW50
ID0gdGFncy5odG1sWwogICAgICAgIHRhZ3MuaGVhZFt0YWdzLnRpdGxlWyJM
b2dnZWQgSW4iXV0sCiAgICAgICAgdGFncy5ib2R5WwogICAgICAgICAgICB0
YWdzLmgzKHJlbmRlcmVyPXRhZ3MuZGlyZWN0aXZlKCJ3ZWxjb21lIikpLAog
ICAgICAgICAgICB0YWdzLmEoaHJlZj1ndWFyZC5ERVNUUk9ZX1BFUlNQRUNU
SVZFKVsiTG9nb3V0Il0KICAgICAgICBdCiAgICBdCgogICAgZGVmIF9faW5p
dF9fKHNlbGYsIHVzZXJuYW1lLCAqYXJncywgKiprdyk6CiAgICAgICAgc2Vs
Zi51c2VybmFtZSA9IHVzZXJuYW1lCiAgICAgICAgcmVuZGVyZXIuUmVuZGVy
ZXIuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3cpCgogICAgZGVmIHJlbmRl
cl93ZWxjb21lKHNlbGYsIGNvbnRleHQsIGRhdGEpOgogICAgICAgIHJldHVy
biBjb250ZXh0LnRhZ1sgIkhlbGxvLCAlcyEiICUgc2VsZi51c2VybmFtZV0K
CiAgICBkZWYgbG9nb3V0KHNlbGYpOgogICAgICAgIHByaW50ICIlcyBsb2dn
ZWQgb3V0ISIgJSBzZWxmLnVzZXJuYW1lCgoKIyMjIEF1dGhlbnRpY2F0aW9u
CgpkZWYgbm9Mb2dvdXQoKToKICAgIHJldHVybiBOb25lCgpkZWYgbG9naW5D
YWxsYmFjayhpZ25vcmVkKToKICAgIHJldHVybiB1dGlsLlJlZGlyZWN0KCIu
IikKCmNsYXNzIE15UmVhbG06CiAgICAiIiJBIHNpbXBsZSBpbXBsZW1lbnRv
ciBvZiBjcmVkJ3MgSVJlYWxtLgogICAgICAgRm9yIHdlYiwgdGhpcyBnaXZl
cyB1cyB0aGUgTG9nZ2VkSW4gcGFnZS4KICAgICIiIgogICAgX19pbXBsZW1l
bnRzX18gPSBwb3J0YWwuSVJlYWxtCgogICAgZGVmIHJlcXVlc3RBdmF0YXIo
c2VsZiwgYXZhdGFySWQsIG1pbmQsICppbnRlcmZhY2VzKToKICAgICAgICBm
b3IgaWZhY2UgaW4gaW50ZXJmYWNlczoKICAgICAgICAgICAgaWYgaWZhY2Ug
aXMgcmVzb3VyY2UuSVJlc291cmNlOgogICAgICAgICAgICAgICAgIyBkbyB3
ZWIgc3R1ZmYKICAgICAgICAgICAgICAgIGlmIGF2YXRhcklkIGlzIGNoZWNr
ZXJzLkFOT05ZTU9VUzoKICAgICAgICAgICAgICAgICAgICByZXNjID0gTm90
TG9nZ2VkSW4oKQogICAgICAgICAgICAgICAgICAgIHJlc2MucmVhbG0gPSBz
ZWxmCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChyZXNvdXJjZS5JUmVz
b3VyY2UsIHJlc2MsIG5vTG9nb3V0KQogICAgICAgICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgICAgICAgICByZXNjID0gTG9nZ2VkSW4oYXZhdGFySWQp
CiAgICAgICAgICAgICAgICAgICAgcmVzYy5yZWFsbSA9IHNlbGYKICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gKHJlc291cmNlLklSZXNvdXJjZSwgcmVz
YywgcmVzYy5sb2dvdXQpCgogICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVk
RXJyb3IoIkNhbid0IHN1cHBvcnQgdGhhdCBpbnRlcmZhY2UuIikKCgpyZWFs
bSA9IE15UmVhbG0oKQpwb3J0YWwgPSBQb3J0YWwocmVhbG0pCm15Q2hlY2tl
ciA9IEluTWVtb3J5VXNlcm5hbWVQYXNzd29yZERhdGFiYXNlRG9udFVzZSgp
Cm15Q2hlY2tlci5hZGRVc2VyKCJ1c2VyIiwicGFzc3dvcmQiKQojIEFsbG93
IGFub255bW91cyBhY2Nlc3MuICBOZWVkZWQgZm9yIGFjY2VzcyB0byBOb3RM
b2dnZWRJbgpwb3J0YWwucmVnaXN0ZXJDaGVja2VyKEFsbG93QW5vbnltb3Vz
QWNjZXNzKCksIElBbm9ueW1vdXMpCiMgQWxsb3cgdXNlcnMgcmVnaXN0ZXJl
ZCBpbiB0aGUgcGFzc3dvcmQgZmlsZS4KcG9ydGFsLnJlZ2lzdGVyQ2hlY2tl
cihteUNoZWNrZXIpCgpzaXRlID0gYXBwc2VydmVyLk5ldm93U2l0ZSgKICAg
IHJlc291cmNlPWd1YXJkLlNlc3Npb25XcmFwcGVyKAogICAgICAgIGd1YXJk
LlVzZXJuYW1lUGFzc3dvcmRXcmFwcGVyKHBvcnRhbCwgY2FsbGJhY2s9bG9n
aW5DYWxsYmFjaykKICAgICksCikKCmFwcGxpY2F0aW9uID0gc2VydmljZS5B
cHBsaWNhdGlvbigiZ3VhcmRlZCIpCmludGVybmV0LlRDUFNlcnZlcig4MDgw
LCBzaXRlKS5zZXRTZXJ2aWNlUGFyZW50KGFwcGxpY2F0aW9uKQo=

--_----------=_1071513197164060--