[Web-SIG] WSGI deployment use case
Ian Bicking
ianb at colorstudy.com
Tue Jul 26 08:18:40 CEST 2005
Well, the stack is really just an example, meant to be more realistic
than "sample1" and "sample2". I actually think it's a very reasonable
example, but that's not really the point. Presuming this stack, how
would you configure it?
Chris McDonough wrote:
> Just for a frame of reference, I'll say how I might do these things.
> These all assume I'd use Apache and mod_python, for better or worse:
>
>
>>I'm not clear exactly what you are proposing. Let's use a more
>>realistic example. Components:
>>
>>* Exception catcher. Takes "email_errors", which is a list of addresses
>>to email exceptions to. I want to apply this globally.
>
>
> I'd likely do this in my endpoint apps (maybe share some sort of library
> between them to do it). Errors that occur in middleware would be
> diagnosable/detectable via mod_python's error logging facility and
> something like snort.
>
>
>>* An application mounted on /, which takes "document_root" and serves up
>>those files directly.
>
>
> Use the webserver.
>
>
>>* An application mounted at /blog, takes "database" (a string) where all
>>its information is kept.
>
>
> Separate WSGI pipeline descriptor with rewrite rules or whatever
> aliasing "/blog" to it.
>
>
>>* An application mounted at /admin. Takes "document_root", which is
>>where the editable files are located. Around it goes two pieces of
>>middleware...
>
>
> Same as above...
>
>
>>* A authentication middleware, which takes "database", which is where
>>user information is kept. And...
>
>
> I'd probably make this into a service that would be consumable by
> applications with a completely separate configuration outside of any
> deployment spec. For example, I might try to pull Zope's "Pluggable
> Authentication Utility" out of Zope 3, leaving intact its
> configurability through ZCML.
>
> But if I did put it in middleware, I'd put it in each of my application
> pipelines (implied by /blog, /admin) in an appropriate place.
>
>
>>* An authorization middleware, that takes "allowed_roles", and checks it
>>against what the authentication middleware puts in.
>
>
> This one I know wouldn't make into middleware. Instead, I'd use a
> library much like the thing I proposed as "decsec" (although at the time
> I wrote that proposal, I did think it would be middleware; I changed my
> mind).
More information about the Web-SIG
mailing list