Projet

Général

Profil

« Précédent | Suivant » 

Révision 30d33074

Ajouté par Thomas Noël il y a plus de 9 ans

auth.py: send cpzone to cp_allow

Voir les différences:

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