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-4
Sv translation
languagefr
Remarque

Cette page n'est plus actualisée. À partir de BlueMind 4.8, veuillez consulter la nouvelle documentation BlueMind

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. Avec certains navigateurs, ceci à pour effet d'afficher une pop-up demandant de saisir un login et un mot de passe AD.
    Il faut annuler ce comportement pour tomber sur la page d'accueil standard car 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. La déconnexion 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 (en résumé) "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éconnecté du point de vue du serveur et 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), il faut :

  1. Rediriger le / vers /native si on se connecte depuis l'extérieur.
  2. Rediriger 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;
  }
  ...
}
Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation

Issue

  1. When Kerberos is enabled, hps returns the login page with http 401 status so that the internet browser starts a krb dialog. With some browsers, this leads to a popup opening and prompting for a login ID and AD password.
    This behavior needs to be stopped for the browser to open the standard homepage as this popup confuses users.
    When connecting from outside, machines are outside the domain and the SSO cannot work, this popup should not appear.
  2. Logging out doesn't work properly if the SSO isn't working (e.g. for a machine connecting from outside).
    The appcache reads something like "if code http != 200 => go offline". As a result, if you log out from the Contacts or Calendar application, you are not redirected to the BlueMind homepage although you are logged out from the server's point of view and the browser continues to display the application.

Solution

With respect to an HTTP proxy, if you are on a network where the SSO cannot work (external, as in the example below), you need to:

  1. Redirect the / towards /native if connecting from outside. 
  2. Redirect the 401 status from /cal and /contact to the homepage.

Edit the relay's VHost NGinx by adding the 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;
  }
  ...
}
Sv translation
languagede

Problem

  1. Wenn Kerberos aktiviert ist, bedient hps die Login-Seite mit dem Status http 401, damit der Browser einen krb-Dialog initiiert. Bei einigen Browsern hat dies den Effekt, dass ein Pop-up angezeigt wird, das zur Eingabe eines AD-Logins und -Passworts auffordert.
    Dieses Verhalten muss aufgehoben werden, um auf die Standard-Startseite zu gelangen, da dieses Pop-up die Benutzer stört.
    Von außerhalb befinden sich diese PCs nicht im Domain und das SSO kann nicht funktionieren, sollte dieses Pop-up nicht erscheinen.
  2. Die Trennung funktioniert nicht gut, wenn das SSO nicht läuft (z.B. bei einer Maschine, die sich von außen verbindet).
    Im Appcache steht (zusammengefasst) "if http code != 200 => go offline". Wenn Sie sich aus der Kontakt- oder Terminplaneranwendung abmelden, werden Sie nicht auf die BlueMind-Homepage umgeleitet, obwohl Sie aus Sicht des Servers tatsächlich abgemeldet sind und die Anwendung weiterhin im Browser angezeigt wird.

Lösung

Wenn Sie sich auf der Ebene eines HTTP-Proxys in einem Netzwerk befinden, in dem das SSO nicht funktionieren kann (im Beispiel unten außen), gehen Sie wie folgt vor:

  1. Das / auf /native umleiten, wenn die Verbindung von außen stattfindet.
  2. Status 401 von /cal und /contact auf die Startseite umleiten

Den VHost NGinx des Relais ändern, indem Sie die folgenden Abschnitte hinzufügen:

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;
  }
  ...
}