Intranet vs. Internet mittels CSS

Eine simple, aber dennoch einfache Möglichkeit, zwischen Zugriff aus dem Intranet und dem Internet zu unterscheiden, läßt sich durch Einbinden einer CSS-Style-Datei lösen, die nur im Intranet verfügbar ist.

Hintergrund

Für eine Applikation, die sowohl im Intra- als auch im Internet verfügbar ist, sollte ein Link eingeblendet werden, jedoch in Abhängigkeit davon, ob es sich um interne oder externe Nutzer handelt. Da es sich jedoch dabei um die Login-Maske handelt, die Authentifizierung also noch nicht stattgefunden hat (und damit eine Zuordnung des Nutzerkreises nicht möglich ist), mußte ein anderer Lösungsansatz gefunden werden.

Dabei wurde angenommen, das interne Nutzer nur durch das Intranet auf die Applikation zugreifen, so daß das Problem dadurch zu lösen war, indem auf einem nur von intern erreichbaren Server eine CSS-Style-Datei angelegt wurde. Diese CSS-Style-Datei wurde die in der Login-Maske eingebunden und hatte folgenden Inhalt:

#intLinkHidden {
    display: none;
    visibility: hidden;
 } 

#intLinkShown {
    display: block;
    visibility: visible;
 }

[In Rot: Die CSS-Style-Definition als Individualformat]

Im HTML-Head wurde die CSS-Datei eingebunden:

<link href="http://intranet.example.org/intranet.nsf/linkHider.css"
 type="text/css" rel="stylesheet">

Zusätzlich wurden im HTML-Code der Login-Maske CSS-Style-Klassen definiert:

.extLinkHidden {
    display: none;
    visibility: hidden;
 } 

.extLinkShown {
    display: block;
    visibility: visible;
 }

[In Rot: Definition der CSS-Style-Klassen]

Die beiden Links, die je nach Anwendungsfall eingeblendet werden sollen, wurden wie folgt definiert:

<a id="intLinkShown" class="extLinkHidden"
href="http://intranet.example.org/intranet.nsf/">
Forgot Password?</a>

<a id="intLinkHidden" class="extLinkShown"
href="http://internet.example.org/internet.nsf/">
 Forgot Password?</a>

[In Rot: Die Einbindung via id-Attribut bzw. class-Attribut]

Entscheidend ist hierbei der Umstand, daß Individualformat (Angabe mittels id-Attribut) dem Klassenformat bevorzugt wird. Kann der interne Server erreicht werden, muß sich der Nutzer im Intranet befinden: Die CSS-Datei kann geladen werden, womit die Links die CSS-Vorgabe des id-Attributes berücksichtigen. Ist die CSS-Datei nicht ladbar (und der Nutzer greift demnach via Internet zu), greifen die Angaben des class-Attributes.

Dieser Beitrag wurde unter Allgemein, CSS, HTML, Infrastruktur abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.