{"id":95,"date":"2011-07-20T21:18:35","date_gmt":"2011-07-20T19:18:35","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=95"},"modified":"2011-07-20T21:22:52","modified_gmt":"2011-07-20T19:22:52","slug":"intranet-vs-internet-mittels-css","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=95","title":{"rendered":"Intranet vs. Internet mittels CSS"},"content":{"rendered":"<p>Eine simple, aber dennoch einfache M\u00f6glichkeit, zwischen Zugriff aus dem Intranet und dem Internet zu unterscheiden, l\u00e4\u00dft sich durch Einbinden einer CSS-Style-Datei l\u00f6sen, die nur im Intranet verf\u00fcgbar ist.<\/p>\n<p><span style=\"text-decoration: underline;\">Hintergrund<\/span><\/p>\n<p>F\u00fcr eine Applikation, die sowohl im Intra- als auch im Internet verf\u00fcgbar ist, sollte ein Link eingeblendet werden, jedoch in Abh\u00e4ngigkeit 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\u00f6glich ist), mu\u00dfte ein anderer L\u00f6sungsansatz gefunden werden.<\/p>\n<p>Dabei wurde angenommen, das interne Nutzer nur durch das Intranet auf die Applikation zugreifen, so da\u00df das Problem dadurch zu l\u00f6sen war, indem auf einem <span style=\"text-decoration: underline;\">nur von intern<\/span> erreichbaren Server eine CSS-Style-Datei angelegt wurde. Diese CSS-Style-Datei wurde die in der Login-Maske eingebunden und hatte folgenden Inhalt:<\/p>\n<pre><span style=\"color: #ff0000;\"><strong>#<\/strong><\/span>intLinkHidden {\r\n    display: none;\r\n    visibility: hidden;\r\n } \r\n\r\n<span style=\"color: #ff0000;\"><strong>#<\/strong><\/span>intLinkShown {\r\n    display: block;\r\n    visibility: visible;\r\n }<\/pre>\n<p><em>[In Rot: Die CSS-Style-Definition als <a title=\"selfhtml.org - CSS Individualformate\" href=\"http:\/\/de.selfhtml.org\/css\/formate\/zentrale.htm#individualformate\" target=\"_blank\">Individualformat<\/a>] <\/em><\/p>\n<p>Im HTML-Head wurde die CSS-Datei eingebunden:<\/p>\n<pre>&lt;link href=\"http:\/\/intranet.example.org\/intranet.nsf\/linkHider.css\"\r\n\u00a0type=\"text\/css\" rel=\"stylesheet\"&gt;<\/pre>\n<p>Zus\u00e4tzlich wurden im HTML-Code der Login-Maske <a title=\"selfhtml.org - CSS Zentrale Klassen\" href=\"http:\/\/de.selfhtml.org\/css\/formate\/zentrale.htm#klassen\" target=\"_blank\">CSS-Style-Klassen<\/a> definiert:<\/p>\n<pre><span style=\"color: #ff0000;\"><strong>.<\/strong><\/span>extLinkHidden {\r\n    display: <em>none<\/em>;\r\n    visibility: <em>hidden<\/em>;\r\n } \r\n\r\n<span style=\"color: #ff0000;\"><strong>.<\/strong><\/span>extLinkShown {\r\n    display: <em>block<\/em>;\r\n    visibility: <em>visible<\/em>;\r\n }<\/pre>\n<p><em>[In Rot: Definition der CSS-Style-Klassen]<\/em><\/p>\n<p>Die beiden Links, die je nach Anwendungsfall eingeblendet werden sollen, wurden wie folgt definiert:<\/p>\n<pre>&lt;a <strong><span style=\"color: #ff0000;\">id=<\/span><\/strong>\"intLinkShown\" <span style=\"color: #ff0000;\"><strong>class=<\/strong><\/span>\"extLinkHidden\"\r\nhref=\"http:\/\/intranet.example.org\/intranet.nsf\/\"&gt;\r\nForgot Password?&lt;\/a&gt;\r\n\r\n&lt;a <strong><span style=\"color: #ff0000;\">id=<\/span><\/strong>\"intLinkHidden\" <strong><span style=\"color: #ff0000;\">class=<\/span><\/strong>\"extLinkShown\"\r\nhref=\"http:\/\/internet.example.org\/internet.nsf\/\"&gt;\r\n\u00a0Forgot Password?&lt;\/a&gt;<\/pre>\n<p><em>[In Rot: Die Einbindung via id-Attribut bzw. class-Attribut]<\/em><\/p>\n<p>Entscheidend ist hierbei der Umstand, da\u00df Individualformat (Angabe mittels id-Attribut) dem Klassenformat bevorzugt wird. Kann der interne Server erreicht werden, mu\u00df sich der Nutzer im Intranet befinden: Die CSS-Datei kann geladen werden, womit die Links die CSS-Vorgabe des id-Attributes ber\u00fccksichtigen. Ist die CSS-Datei nicht ladbar (und der Nutzer greift demnach via Internet zu), greifen die Angaben des class-Attributes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine simple, aber dennoch einfache M\u00f6glichkeit, zwischen Zugriff aus dem Intranet und dem Internet zu unterscheiden, l\u00e4\u00dft sich durch Einbinden einer CSS-Style-Datei l\u00f6sen, die nur im Intranet verf\u00fcgbar ist. Hintergrund F\u00fcr eine Applikation, die sowohl im Intra- als auch im &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=95\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,17,19,18],"tags":[78,7,77,11,16,12],"class_list":["post-95","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-css","category-html","category-infrastruktur","tag-css","tag-domino","tag-html","tag-http","tag-server","tag-web"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=95"}],"version-history":[{"count":6,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/95\/revisions"}],"predecessor-version":[{"id":100,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/95\/revisions\/100"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=95"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=95"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}