Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Published by Scroll Versions from space DA and version BM-3

Problème

  1. Quand Kerberos est activé, hps sert la page de login avec le statut http 401 pour que le browser initie un dialogue krb s'il est compliant. Avec certains navigateurs ceci à pour effet d'afficher une pop-up demandant de saisir un login et mot de passe AD. Il faut l'annuler pour tomber sur la page d'accueil standard. Cette pop-up perturbe les utilisateurs.
    Depuis l'extérieur les postes ne sont pas dans le domaine et le SSO ne peut pas fonctionner, cette pop-up ne devrait pas apparaître.
  2. Le logout ne fonctionne pas bien si le SSO ne fonctionne pas (cas d'une machine se connectant de l'extérieur par exemple). Dans l'appcache il y a écrit (je résume) "si code http != 200 => go offline". Par conséquent si on se déconnecte depuis l'application contact ou agenda, on n'est pas redirigé vers la page d'accueil de BlueMind bien qu'on soit bien déloggué pour le serveur. L'application reste affichée dans le navigateur.

Solution

Au niveau d'un proxy HTTP, si on est sur un réseau où le SSO ne peut pas fonctionner (extérieur dans l'exemple ci dessous):

  1. Re-diriger le / vers /native si on se connecte depuis l'extérieur.
  2. Re-diriger le status 401 de /cal et /contact vers la page d'accueil

Modifier le VHost NGinx du relais en ajoutant les sections :

Bloc de code
geo $local {
  default 0;
  127.0.0.0/8 1;
  192.168.0.0/16 1;
  172.16.0.0/12 1;
  10.0.0.0/8 1;
}

server {
  ...
  location / {
    proxy_intercept_errors on;

    if ($local = 0) {
      error_page 401 https://bluemind-ext-url/native;
    }

    proxy_pass https://bluemind-srv;
  }

  location /cal {
    proxy_intercept_errors on;

    if ($local = 0) {
      error_page 401 https://bluemind-ext-url/;
    }

    proxy_pass https://bluemind-srv;
  }

  location /contact {
    proxy_intercept_errors on;

    if ($local = 0) {
      error_page 401 https://bluemind-ext-url/;
    }

    proxy_pass https://bluemind-srv;
  }
  ...
}