s/SSO/SLO/

This commit is contained in:
Valentin Samir 2015-05-28 02:13:09 +02:00
parent 2bd2f8d8b3
commit c9629f65ae
7 changed files with 124 additions and 16 deletions

View File

@ -59,7 +59,7 @@ class ServicePatternAdmin(admin.ModelAdmin):
ReplaceAttributValueInline,
FilterAttributValueInline
)
list_display = ('pos', 'name', 'pattern', 'proxy', 'single_sign_out')
list_display = ('pos', 'name', 'pattern', 'proxy', 'single_log_out')
admin.site.register(User, UserAdmin)

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cas_server\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-27 22:56+0200\n"
"POT-Creation-Date: 2015-05-28 02:10+0200\n"
"PO-Revision-Date: 2015-05-23 19:03+0100\n"
"Last-Translator: Valentin Samir <valentin.samir@crans.org>\n"
"Language-Team: django <LL@li.org>\n"
@ -84,13 +84,13 @@ msgid ""
msgstr ""
#: models.py:182
msgid "single sign out"
msgid "single log out"
msgstr ""
#: models.py:183
#, fuzzy
#| msgid "Connect to the service"
msgid "Enable SSO for the service"
msgid "Enable SLO for the service"
msgstr "Connect to the service"
#: models.py:225

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: cas_server\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-27 22:56+0200\n"
"PO-Revision-Date: 2015-05-27 23:05+0100\n"
"POT-Creation-Date: 2015-05-28 02:10+0200\n"
"PO-Revision-Date: 2015-05-28 02:15+0100\n"
"Last-Translator: Valentin Samir <valentin.samir@crans.org>\n"
"Language-Team: django <LL@li.org>\n"
"Language: fr\n"
@ -88,12 +88,12 @@ msgstr ""
"s'authentifier en temps l'utilisateur à un autre service"
#: models.py:182
msgid "single sign out"
msgid "single log out"
msgstr ""
#: models.py:183
msgid "Enable SSO for the service"
msgstr "Active le SSO pour le service"
msgid "Enable SLO for the service"
msgstr "Active le SLO pour le service"
#: models.py:225
msgid "username"
@ -140,7 +140,7 @@ msgstr "une expression régulière reconnaissant ce qui doit être remplacé"
#: models.py:290
msgid "replace expression, groups are capture by \\1, \\2 …"
msgstr ""
msgstr "expression de remplacement, les groupe sont capturé par \\1, \\2"
#: models.py:337
#, python-format

View File

@ -0,0 +1,108 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('cas_server', '0013_servicepattern_single_sign_out'),
]
operations = [
migrations.RemoveField(
model_name='servicepattern',
name='single_sign_out',
),
migrations.AddField(
model_name='servicepattern',
name='single_log_out',
field=models.BooleanField(default=False, help_text='Enable SLO for the service', verbose_name='single log out'),
preserve_default=True,
),
migrations.AlterField(
model_name='filterattributvalue',
name='attribut',
field=models.CharField(help_text='Name of the attribut which must verify pattern', max_length=255, verbose_name='attribut'),
preserve_default=True,
),
migrations.AlterField(
model_name='filterattributvalue',
name='pattern',
field=models.CharField(help_text='a regular expression', max_length=255, verbose_name='pattern'),
preserve_default=True,
),
migrations.AlterField(
model_name='replaceattributname',
name='name',
field=models.CharField(help_text='name of an attribut to send to the service', max_length=255, verbose_name='name'),
preserve_default=True,
),
migrations.AlterField(
model_name='replaceattributname',
name='replace',
field=models.CharField(help_text='name under which the attribut will be showto the service. empty = default name of the attribut', max_length=255, verbose_name='replace', blank=True),
preserve_default=True,
),
migrations.AlterField(
model_name='replaceattributvalue',
name='attribut',
field=models.CharField(help_text='Name of the attribut for which the value must be replace', max_length=255, verbose_name='attribut'),
preserve_default=True,
),
migrations.AlterField(
model_name='replaceattributvalue',
name='pattern',
field=models.CharField(help_text='An regular expression maching whats need to be replaced', max_length=255, verbose_name='pattern'),
preserve_default=True,
),
migrations.AlterField(
model_name='replaceattributvalue',
name='replace',
field=models.CharField(help_text='replace expression, groups are capture by \\1, \\2 \u2026', max_length=255, verbose_name='replace', blank=True),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='name',
field=models.CharField(null=True, max_length=255, blank=True, help_text='A name for the service', unique=True, verbose_name='name'),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='pattern',
field=models.CharField(unique=True, max_length=255, verbose_name='pattern'),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='pos',
field=models.IntegerField(default=100, verbose_name='position'),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='proxy',
field=models.BooleanField(default=False, help_text='A ProxyGrantingTicket can be delivered to the service in order to authenticate for the user on a backend service', verbose_name='proxy'),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='restrict_users',
field=models.BooleanField(default=False, help_text='Limit username allowed to connect to the list provided bellow', verbose_name='restrict username'),
preserve_default=True,
),
migrations.AlterField(
model_name='servicepattern',
name='user_field',
field=models.CharField(default=b'', help_text='Name of the attribut to transmit as username, empty = login', max_length=255, verbose_name='user field', blank=True),
preserve_default=True,
),
migrations.AlterField(
model_name='username',
name='value',
field=models.CharField(help_text='username allowed to connect to the service', max_length=255, verbose_name='username'),
preserve_default=True,
),
]

View File

@ -66,7 +66,7 @@ class User(models.Model):
return self.username
def logout(self, request):
"""Sending SSO request to all services the user logged in"""
"""Sending SLO request to all services the user logged in"""
async_list = []
session = FuturesSession(executor=ThreadPoolExecutor(max_workers=10))
for ticket in ServiceTicket.objects.filter(user=self, validate=True):
@ -177,10 +177,10 @@ class ServicePattern(models.Model):
help_text=_("A ProxyGrantingTicket can be delivered to the service " \
"in order to authenticate for the user on a backend service")
)
single_sign_out = models.BooleanField(
single_log_out = models.BooleanField(
default=False,
verbose_name=_(u"single sign out"),
help_text=_("Enable SSO for the service")
verbose_name=_(u"single log out"),
help_text=_("Enable SLO for the service")
)
def __unicode__(self):
@ -311,8 +311,8 @@ class Ticket(models.Model):
return u"Ticket(%s, %s)" % (self.user, self.service)
def logout(self, request, session):
"""Send a SSO request to the ticket service"""
if self.validate and self.service_pattern.single_sign_out:
"""Send a SLO request to the ticket service"""
if self.validate and self.service_pattern.single_log_out:
xml = """<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="%(id)s" Version="2.0" IssueInstant="%(datetime)s">
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"></saml:NameID>