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.0

...

Sv translation
languageen

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