diff --git a/docs/ConfigCAS.md b/docs/ConfigCAS.md index 0c836064e..2d19e4151 100644 --- a/docs/ConfigCAS.md +++ b/docs/ConfigCAS.md @@ -77,12 +77,13 @@ Ici trois champs nous intéressent: - **Identifiant CAS**: nécessaire - **Autorise connexion via CAS**: spécifie si ce compte peut ou non se connecter via CAS. - **Autorise connexion via ScoDoc**: spécifie si cet utilisateur peut se connecter via - ScoDoc, sans CAS, lorsque le CAS est activé et forcé. Ceci est nécessaire par + ScoDoc, sans CAS, lorsque le CAS est activé. Ceci est nécessaire par exemple pour des comptes utilisés pour l'API, ou bien pour des personnes extérieures à l'établissement et qui ne seraient pas (encore) dans le CAS. -En cas de besoin, les comptes "super-admin" peuvent toujours se connecter à ScoDoc sans CAS: si le -forçage est activé, il leur faut passer par une adresse spéciale: +En cas de besoin, les comptes "super-admin" peuvent toujours se connecter à +ScoDoc sans CAS: si le forçage est activé, il leur faut passer par une adresse +spéciale: ```text https://votre.serveur.scodoc.fr/auth/login_scodoc @@ -95,6 +96,34 @@ forçage est activé, il leur faut passer par une adresse spéciale: le CAS, pensez à autoriser les comptes de l'API à se connecter sur ScoDoc sans CAS. +### Règles de connexion + +Résumé pour s'y retrouver dans les paramètres: + +- Au niveau de la config globale de ScoDoc: + - CAS peut être *activé* ou non. + - S'il est activé, il peut être *forcé* ou non. +- Au niveau de chaque compte utilisateur: + - on a (ou non) un "Identifiant CAS" (`cas_id`); + - on autorise ou non la connexion via CAS (`cas_allow_login`) + - on autorise ou non la connexion via l'identifiant ScoDoc quand CAS est activé (`cas_allow_scodoc_login`) + +L'utilisateur pourra se connecter **via un identifiant ScoDoc** (rappel: *c'est +nécessaire pour les comptes API*), si et seulement si: + +- CAS non activé +- ou compte super-admin +- ou `cas_allow_scodoc_login` et pas (`cas_id` renseigné et `cas_allow_login` et CAS forcé) + +(donc si il a `cas_allow_scodoc_login` mais pas de `cas_id`, il pourra se +connecter via ScoDoc même si on a *forcé* le CAS). + +L'utilisateur pourra se connecter **en CAS** si et seulement si: + +- CAS activé et `cas_id` renseigné (ou règle de config. automatique) + + + ## Sécurité: permissions et informations L'utilisateur connecté via CAS a exactement les mêmes permissions que s'il @@ -151,9 +180,10 @@ INFO: CAS login denied for cas_id=prenom.nom (unknown or inactive) L'authentification des clients de l'API utilise un jeton (*token*), qui est demandé par l'appel `/ScoDoc/api/tokens` (qui lui même appelle `User.get_token()`). Ce mécanisme ne passe jamais par le CAS, à condition que le -compte utilisateur utilisé par l'API soit "*Autorisé à se connecter via ScoDoc*" -(voir le formulaire plus haut, [configuration des -utilisateurs](#configuration-des-utilisateurs)). +compte utilisateur utilisé par l'API soit "*Autorisé à se connecter via +ScoDoc*", et pas autorisé à utiliser le CAS (`cas_allow_login` faux). (voir le +formulaire plus haut, [configuration des +utilisateurs](#configuration-des-utilisateurs)) !!! note "Voir aussi" diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index 749846e96..58f5f475a 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -87,7 +87,7 @@ Si vous êtes intéressé par le développement, voir * Si vous utilisez le CAS, pensez à laisser les comptes utilisateurs API se connecter via ScoDoc sans CAS. Pour cela, cocher l'option - *Autorise connexion via CAS si CAS est activé* + *Autorise connexion via CAS si CAS est activé* et décocher `Autorise connexion via CAS` dans leur formulaire de configuration. * Si l'utilisateur est associé à un département (cas des comptes créés via l'interface Web),