Opened 10 years ago

Closed 10 years ago

#2938 closed enhancement (wontfix)

SSLVerifyClient client certificate variables

Reported by: karpet@… Owned by: Adrian Holovaty
Component: Core (Other) Version:
Severity: normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

Our systems are all locked down to client certificate, and then usually a user is identified by the email address field on their certificate. I've initially added support for accessing the apache variable (SSL_CLIENT_S_DN_Email) by adding the following function to ModPythonRequest:

def ssl_var_lookup(self, variable_name):
        return self._req.ssl_var_lookup(variable_name)

It'd be nice to have this, or an equivalent, available without patching my django source. It would also be nice to have this usable to secure the admin sections as well instead of using passwords.

Change History (3)

comment:1 Changed 10 years ago by James Bennett

Resolution: worksforme
Status: newclosed

Unless I'm misunderstanding, the auth system should be able to handle this, because it supports dropping in your own custom authentication schemes, which can be based on anything; there are a couple LDAP auth schemes for Django floating around, for example. See here for documentation on how to do so: http://www.djangoproject.com/documentation/authentication/#writing-an-authentication-backend

comment:2 Changed 10 years ago by karpet@…

Component: Admin interfaceCore framework
Resolution: worksforme
Status: closedreopened

OK, the SSL variable -> User lookup can actually be done with a custom Authentication Middleware.
I still can't find any way to access apache/mod_python's SSL Certificate variables without the above mod to django.core.handlers.ModPythonRequest

comment:3 Changed 10 years ago by Adrian Holovaty

Resolution: wontfix
Status: reopenedclosed

This is too much of an edge case to add to Django.

Note: See TracTickets for help on using tickets.
Back to Top