...
Bloc de code |
---|
#!/usr/bin/python import os import cgi import urllib2 def pageget(url): req = urllib2.Request(url) rep = urllib2.urlopen(req) data = rep.read() return data if __name__ == '__main__': url = os.environ["REQUEST_URI"] content = pageget('https://cas.univ-ville.fr' + url) print "Status: 200" print "Content-Length: " + str(len(content)+1) print print content |
pam_cas
La cassification de notre serveur imap (proxy cas du webmail) utilise esup_pam_cas.
Nous avons paramétré notre CAS pour qu'il propose aux applications cassifiées certains attributs dans l'attribut multi-valué memberOf. Utilisateurs de grouper, le memberOf est conséquent pour certains utilisateurs.
De fait nous nous sommes retrouvés avec des erreurs sur le pam_cas du type :
Bloc de code |
---|
Unexpected read error or response too large from .... |
Cf https://github.com/EsupPortail/esup-pam-cas/blob/master/sources/cas_validator.c la réponse xml du cas dépassant 4096 caractères pour certains utilisateurs qui sont membres de nombreux groupes et ont donc un memberOf conséquent.
Aussi nous avons limité les attributs donnés dans cas.authn.attributeRepository.defaultAttributesToRelease pour ne présenter le memberOf qu'aux applications en http/https (de notre domaine) excluant le serveur imap qui n'a en fait besoin que de l'uid de l'utilisateur pour authentifier ce dernier par proxy-cas.