forked from ScoDoc/ScoDoc
CAS: change sémantique param. cas_allow_scodoc_login
This commit is contained in:
parent
815d5a71ae
commit
07423e08b6
@ -158,7 +158,7 @@ CAS_USER_INFO_COMMENTS = (
|
|||||||
autorise la connexion via CAS (optionnel, faux par défaut)
|
autorise la connexion via CAS (optionnel, faux par défaut)
|
||||||
""",
|
""",
|
||||||
"""cas_allow_scodoc_login
|
"""cas_allow_scodoc_login
|
||||||
autorise connexion via ScoDoc même si CAS obligatoire (optionnel, faux par défaut)
|
autorise connexion via ScoDoc même si CAS activé (optionnel, vrai par défaut)
|
||||||
""",
|
""",
|
||||||
"""email_institutionnel
|
"""email_institutionnel
|
||||||
optionnel, le mail officiel de l'utilisateur.
|
optionnel, le mail officiel de l'utilisateur.
|
||||||
|
@ -92,7 +92,7 @@ class User(UserMixin, ScoDocModel):
|
|||||||
cas_allow_scodoc_login = db.Column(
|
cas_allow_scodoc_login = db.Column(
|
||||||
db.Boolean, default=False, server_default="false", nullable=False
|
db.Boolean, default=False, server_default="false", nullable=False
|
||||||
)
|
)
|
||||||
"""Si CAS forcé (cas_force), peut-on se logguer sur ScoDoc directement ?
|
"""Si CAS activé et cas_id renseigné, peut-on se logguer sur ScoDoc directement ?
|
||||||
(le rôle ScoSuperAdmin peut toujours, mettre à True pour les utilisateur API)
|
(le rôle ScoSuperAdmin peut toujours, mettre à True pour les utilisateur API)
|
||||||
"""
|
"""
|
||||||
cas_last_login = db.Column(db.DateTime, nullable=True)
|
cas_last_login = db.Column(db.DateTime, nullable=True)
|
||||||
@ -211,10 +211,12 @@ class User(UserMixin, ScoDocModel):
|
|||||||
send_notif_desactivation_user(self)
|
send_notif_desactivation_user(self)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# if CAS activated and forced, allow only super-user and users with cas_allow_scodoc_login
|
# if CAS activated and cas_id, allow only super-user and users with cas_allow_scodoc_login
|
||||||
cas_enabled = ScoDocSiteConfig.is_cas_enabled()
|
cas_enabled = ScoDocSiteConfig.is_cas_enabled()
|
||||||
if cas_enabled and ScoDocSiteConfig.get("cas_force"):
|
if cas_enabled:
|
||||||
if (not self.is_administrator()) and not self.cas_allow_scodoc_login:
|
if ScoDocSiteConfig.get("cas_force") and not self.is_administrator():
|
||||||
|
return False # si CAS forcé, n'accepte que super-admin
|
||||||
|
if self.cas_id and not self.cas_allow_scodoc_login:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if not self.password_hash: # user without password can't login
|
if not self.password_hash: # user without password can't login
|
||||||
|
@ -85,7 +85,7 @@ COMMENTS = (
|
|||||||
autorise la connexion via CAS (optionnel, faux par défaut)
|
autorise la connexion via CAS (optionnel, faux par défaut)
|
||||||
""",
|
""",
|
||||||
"""cas_allow_scodoc_login
|
"""cas_allow_scodoc_login
|
||||||
autorise connexion via ScoDoc même si CAS obligatoire (optionnel, faux par défaut)
|
autorise connexion via ScoDoc même si CAS activé (optionnel, faux par défaut)
|
||||||
""",
|
""",
|
||||||
"""email_institutionnel
|
"""email_institutionnel
|
||||||
optionnel, le mail officiel de l'utilisateur.
|
optionnel, le mail officiel de l'utilisateur.
|
||||||
|
@ -452,7 +452,7 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
|
|||||||
{
|
{
|
||||||
"title": "Autorise connexion via ScoDoc",
|
"title": "Autorise connexion via ScoDoc",
|
||||||
"input_type": "boolcheckbox",
|
"input_type": "boolcheckbox",
|
||||||
"explanation": """ même si "Forcer l'utilisation de CAS" est activé.
|
"explanation": """ même si CAS est activé et cas_id renseigné.
|
||||||
Seul le super-administrateur peut changer ce réglage""",
|
Seul le super-administrateur peut changer ce réglage""",
|
||||||
"enabled": current_user.is_administrator(),
|
"enabled": current_user.is_administrator(),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user