...
On peut ici imaginer un service rest répondant derrière http://localhost/cgi-bin/validate-example-sgc.py - on insérera la configuration suivante dans applicationContext-services.xml pour activer celà (notez que le applicationContext-services.xml par défaut ne propose pas par défaut un tel exemple ).
| Bloc de code | ||
|---|---|---|
| ||
<bean id="myRestValidateService" class="org.esupportail.sgc.services.RestValidateService"> <property name="restTemplate" ref="restTemplate"/> <property name="validateRestUrl" value="http://localhost/cgi-bin/validate-example-sgc.py?eppn=%s&csn=%s"/> <property name="invalidateRestUrl" value="http://localhost/cgi-bin/validate-example-sgc.py?eppn=%s&csn=%s"/> </bean> |
Un exemple Exemple d'un tel script cgi python validate-example-sgc.py est donné ici à tritre d'exemple simplement ici :
| Bloc de code | ||
|---|---|---|
| ||
#!/usr/bin/python
# -*- coding: utf-8 -*-
import cgi
import requests
arguments = cgi.FieldStorage()
eppn = arguments['eppn'].value
print "Content-Type: text/plain"
print ""
print eppn
resp = requests.get(url = 'https://esup-sgc.univ-ville.fr/wsrest/api/get?eppn=%s' % eppn)
csn = ''
acccesControlId = ''
data = resp.json()
for user in data :
for card in user['cards'] :
if card['etat'] == 'ENABLED' :
csn = card['csn']
acccesControlId = card['desfireIds']['access-control']
open_file = open('/opt/export-sgc/a.txt', 'a+b')
open_file.write('card enabled for %s : csn -> %s, access-control : %s\n' % (eppn, csn, acccesControlId))
open_file.close()
print 'OK'
|
...