tickets: 8658
This data as json
id | created | changetime | last_pulled_from_trac | stage | status | component | type | severity | version | resolution | summary | description | owner | reporter | keywords | easy | has_patch | needs_better_patch | needs_tests | needs_docs | ui_ux |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8658 | 2008-08-28 22:22:11 | 2011-09-12 19:00:24 | 2022-03-06 03:42:50.119408 | Design decision needed | closed | Core (Other) | Bug | Normal | 1.0-beta | wontfix | Per request environment not cleaned between requests with mod_python | 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: {{{ os.environ.update(req.subprocess_env) }}} 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? | nobody | edevil | modpython environment | 0 | 0 | 0 | 0 | 0 | 0 |