Révision 30d33074
Ajouté par Thomas Noël il y a plus de 9 ans
usr/local/univnautes/sp/sp/auth.py | ||
---|---|---|
13 | 13 |
if request and request.user.is_anonymous(): |
14 | 14 |
return |
15 | 15 |
|
16 |
request.session['prefered_idp'] = attributes['__issuer'] |
|
16 |
cpzone = request.META.get('HTTP_X_PFSENSE_CPZONE') or ''; |
|
17 |
|
|
17 | 18 |
if 'displayName' in attributes: |
18 | 19 |
request.session['display_name'] = attributes['displayName'][0] |
19 | 20 |
|
... | ... | |
45 | 46 |
multiple = 1 |
46 | 47 |
|
47 | 48 |
cmd = [ c % { |
49 |
'cpzone': cpzone, |
|
48 | 50 |
'ip': ip, |
49 | 51 |
'username': username, |
50 | 52 |
'nameid': nameid, |
... | ... | |
53 | 55 |
|
54 | 56 |
if settings.DEBUG: |
55 | 57 |
syslog.openlog("sp/auth", syslog.LOG_PID) |
56 |
syslog.syslog(syslog.LOG_LOCAL4 | syslog.LOG_INFO , "cmd: %r" % ' '.join(cmd)) |
|
58 |
syslog.syslog(syslog.LOG_LOCAL4 | syslog.LOG_DEBUG , 'meta: %r' % request.META) |
|
59 |
syslog.syslog(syslog.LOG_LOCAL4 | syslog.LOG_DEBUG , "cmd: %r" % ' '.join(cmd)) |
|
57 | 60 |
|
58 | 61 |
# open the firewall for this client |
59 | 62 |
try: |
... | ... | |
76 | 79 |
return False |
77 | 80 |
# cp_allow returns the pfsense CP sessionid on stdout : store it in django session |
78 | 81 |
request.session['pfsenseid'] = stdout |
82 |
request.session['prefered_idp'] = attributes['__issuer'] |
|
79 | 83 |
return True |
80 | 84 |
|
81 | 85 |
signals.auth_login.connect(user_login_cb, dispatch_uid='authentic2.idp') |
usr/local/univnautes/sp/sp/settings.py | ||
---|---|---|
184 | 184 |
|
185 | 185 |
# pfSense captive portal commands : |
186 | 186 |
UNIVNAUTES_CP_ALLOW_CMD = [ |
187 |
os.path.join(PROJECT_PATH, 'sp', 'cp_allow'), |
|
187 |
os.path.join(PROJECT_PATH, 'cp_allow'), |
|
188 |
'cpzone=%(cpzone)s', |
|
188 | 189 |
'ip=%(ip)s', |
189 | 190 |
'username=%(username)s', |
190 | 191 |
'nameid=%(nameid)s', |
Formats disponibles : Unified diff
auth.py: send cpzone to cp_allow