Per request environment not cleaned between requests with mod_python
|Reported by:||edevil||Owned by:||nobody|
|Cc:||Triage Stage:||Design decision needed|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I'm using a single sign-on system called Shibboleth which is implemented via an Apache module that populates the request environment with information about the logged-in user (if there is one) to the underlying application, Django in this case.
What I'm seeing is, when a logged-in user appears, the vars are set and I can access them in the views with os.environ[VAR]. After that, all requests remain with those vars set, even if the Shibboleth module does not set them in the request environment.
I think this is because of this line in the modpython handler:
This adds the vars to the environ but does not clear them if they are not there. Maybe a copy of the original environment should be kept and restored after the request is served. Or is there a way to access the req.subprocess_env in a view?
Change History (5)
comment:1 Changed 6 years ago by jacob
- milestone 1.0 deleted
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Triage Stage changed from Unreviewed to Design decision needed
comment:2 Changed 6 years ago by ubernostrum
- Resolution set to fixed
- Status changed from new to closed
comment:3 Changed 6 years ago by ubernostrum
- Resolution fixed deleted
- Status changed from closed to reopened