von aussen mit LogIn von intern ohne LogIn

  • WildFun WildFun
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    27. 04. 2004, 10:11

    Hallo Leute,
    ich brauche mal ne Diskussion, wie man folgendes löst:

    Wir haben INTRANET- und Internetseiten auf einem Server mit einer Typo3 Installation realisiert.

    Jetzt wollen wir erkennen, ob ein Aufruf der INTRANETseiten von extern kommt (dann wird LogIn gefordert) oder von intern (kein LogIn erforderlich).

    Meine Idee war mit $REMOTE_ADDR eine Selection zu machen. Funzt auch, denn der interne IP - Pool im Netzwerk ist ja festgelegt. Die Selection hab ich in die index.php eingebaut.

    Jetzt muß ich nur noch zwischen den Aufruf INTRANET und Internet unterscheiden.

    Hat jemand ne Idee?

    ach ja der Code für die Selection bisher:

    [code:1:54b2160b2b]
    <?
    /* Vorgaben in welchem Bereich die gültige IP Adresse liegen darf
    Hier zwischen 182.10.01.01 biss 182.10.255.254
    */
    $teil_0_max = 182;
    $teil_0_min = 182;

    $teil_1_max = 10;
    $teil_1_min = 10;

    $teil_2_max = 255;
    $teil_2_min = 01;

    $teil_3_max = 254;
    $teil_3_min = 01;
    //-------------------------------------------------------------------

    /* Auslesen der IP Adresse des Aufrufers */
    $string = $HTTP_SERVER_VARS['REMOTE_ADDR'];
    //Test: $string = "182.10.01.01";
    //---------------------------------------------------------------------
    /* Zerlegen der IP Adresse in einzelne Strings, die in das Array $teil()
    geschrieben werden. weil 0 als false interpretiert wird,
    muß 0 erst in - gewandelt werden und später wieder zurück
    */
    $string = str_replace(0,'-',$string);
    $teil = array ();
    $tok = strtok ($string,".");
    while ($tok) {
    $teil[] = str_replace('-','0',$tok);
    $tok = strtok (".");
    }
    $wert = 0 ;
    if (($teil[0] <= $teil_0_max) AND ($teil[0] >= $teil_0_min)){
    $wert = $wert+1;
    }
    if (($teil[1] <= $teil_1_max) AND ($teil[1] >= $teil_1_min)){
    $wert = $wert+1;
    }
    if (($teil[2] <= $teil_2_max) AND ($teil[2] >= $teil_2_min)){
    $wert = $wert+1;
    }
    if (($teil[3] <= $teil_3_max) AND ($teil[3] >= $teil_3_min)){
    $wert = $wert+1;
    }

    if ($wert!= 4){
    if ($HTTP_GET_VARS['action'] != 'second'){
    $go = 'go';
    }
    }
    if (($GLOBALS['TSFE']->fe_user->user['usergroup'])>0){
    $go = '--';
    }
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <?php
    if ($go == 'go'){
    $url = 'Content="0; Url=index.php?id=41&action=second">'; //LogIn Seite = 41
    echo '<META http-equiv=Refresh '.$url;
    }
    ?>
    <title>Title here!</title>
    </head>
    <body>

    </body>
    </html>
    [/code:1:54b2160b2b]

    Gruß Fr@nk


  • TW TW
    Jedi-General
    0 x
    1560 Beiträge
    0 Hilfreiche Beiträge
    29. 04. 2004, 08:33

    [quote:c77dad7087="WildFun"]Hallo Leute,
    ich brauche mal ne Diskussion, wie man folgendes löst:

    Wir haben INTRANET- und Internetseiten auf einem Server mit einer Typo3 Installation realisiert.

    Jetzt wollen wir erkennen, ob ein Aufruf der INTRANETseiten von extern kommt (dann wird LogIn gefordert) oder von intern (kein LogIn erforderlich).

    Meine Idee war mit $REMOTE_ADDR eine Selection zu machen. Funzt auch, denn der interne IP - Pool im Netzwerk ist ja festgelegt. Die Selection hab ich in die index.php eingebaut.

    Jetzt muß ich nur noch zwischen den Aufruf INTRANET und Internet unterscheiden.

    Hat jemand ne Idee?[/quote:c77dad7087]

    hi
    warum bearbeitest du denn das php script?????
    das was du machen willst könnte man einfach mit conditions im ts lösen....

    du weist die ip aus dem intranet!
    also sagst du einfach das wenn mit der ip probiert wird zuzugreifen, dann lenk die seite auf eine loginbox um etc..........

    weil wenn jemand von extern auf das intranet will, dann sollte er schon ne andere ip haben... #giggle#

    dann brauchst du nicht das php script zu beackern....
    denke ich mal! ;)

    cu
    thorsten

  • maxhb maxhb
    Flash Gordon
    0 x
    2148 Beiträge
    0 Hilfreiche Beiträge
    29. 04. 2004, 11:43

    Hi!
    Im Prinzip kannst Du das per Conditions unter Typo3 regeln. Siehe dazu http://typo3.org/documentation/document-library/doc_core_tsref/IP/

    Wenn Ihr z.B. den Adressraum 192.168.* benutzt:
    [code:1:b1f628a12e][IP = 192.168.*.*]
    # INTRANET
    [else]
    # EXTRANET
    [end]
    [/code:1:b1f628a12e]
    Ob diese Methode sicher ist weiss ich allerdings nicht, da mir nicht klar ist, wie Typo die IP ermittelt. Falls das über den Referrer passiert kann man das natürlich vergessen :'(

    CU
    maxhb

  • WildFun WildFun
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    29. 04. 2004, 13:31

    erstmal vielen Dank für den Tip.
    als ich's gelesen haben, fiel es mir ein, dass ich das auch schon mal in der TSref gelesen hatte.

    Aber, lieber Thorsten, wie leite ich um ?

    [code:1:50ff68b510]
    [IP = 192.168.*.*]
    ???
    [else]
    ???
    [end]
    [/code:1:50ff68b510]

    gruß Fr@nk

  • asteiner asteiner
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    23. 02. 2005, 11:20

    [url]http://www.typo3.net/viewtopic.php?p=81879[/url]

  • WildFun WildFun
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    23. 02. 2005, 13:39

    habe ein andere Lösung gefunden bei der auch die gesamte fe_user Funktion erhalten bleibt.

    Setup:
    [code:1:c5d2dc2fe3]
    site.1 = TEMPLATE
    site.1 {
    template = FILE
    template.file = fileadmin/templates/xyz.htm
    workOnSubpart = DOKUMENT
    .
    .
    .
    }

    [IP=127.0.0.10]
    page.10 = TEMPLATE
    page.10 < site.1
    [else]
    page.10=TEXT
    page.10.value = No Entry without LogIn
    page.10 < tt_content.login
    [end]

    [loginUser = *]
    #page.10 = TEXT
    #page.10.value = eingeloggt
    page.10 = TEMPLATE
    page.10 < site.1
    [else]
    #page.20 = TEXT
    #page.20.value = nicht eingeloggt<br>
    [end]
    [/code:1:c5d2dc2fe3]

    Auf die Reihenfolge kommts an!

    Nicht vergessen auch die Einträge in die Conants:
    [code:1:c5d2dc2fe3]
    plugin.feadmin.fe_users {
    file.templateFile = yourTemp
    email = .....
    emailName = Name
    pid = 44
    usergroupOverride = 3
    [/code:1:c5d2dc2fe3]

  • dan33 dan33
    R2-D2
    0 x
    99 Beiträge
    0 Hilfreiche Beiträge
    24. 02. 2005, 15:38

    Wir haben auch ein änhliches Problem.
    Nur möchte ich weiterhin die Benutzergruppen in Typo3 weiterverwenden.

    Deswegen versuchen wir folgendes.
    - legen alle Netzwerk User als FE User an (und weisen ihnen die passenden Gruppen zu)
    - ändern die Loginbox so ab, dass vorher der Netzwerkuser ausgelesen wird und der dann mehr oder weniger automatisch weitergereicht wird. Sprich wir wollen nur den Login umgehen.

    Habe gerade begonnen daran zu arbeiten - mal schauen ob es funktioniert..

    lg,
    Daniel

  • asteiner asteiner
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    24. 02. 2005, 18:47

    Hallo [b:aef17e8791]dan33[/b:aef17e8791] hast du bereits eine lösung dafür gefunden?

    Also wenn ich dich korrekt verstanden habe willst du versuchen den User über den Windows-Usernamen einer Gruppe zu zuordnen, oder?

    Das selbe benötige ich eben auch noch, von exernt greift mir ein PHP script auf dir AD (ActiveDirectory) auf unserm Server und man kann sich von extern mit dem Domänen User und Passwort authentiviezieren. Doch würde ich intern ebe auch gerne die Benützergruppen bestehen lassen, jedoch habe ich im moment nur ein provisorium ohne benutzergruppen....

    Wäre auch intressiert an einer lösung :)

    Greetz Andy

  • dan33 dan33
    R2-D2
    0 x
    99 Beiträge
    0 Hilfreiche Beiträge
    25. 02. 2005, 00:39

    Hi!

    Nein, noch habe ich keine Lösung.
    Habe nicht einmal noch begonnen daran zu arbeiten ;)

    Aber sobald ich etwas habe werde ich es posten. (wird aber sicher noch etwas dauern, da es nicht der einzige Punkt auf meiner Liste ist).

    Schon mal an das LDAP-Plugin gedacht?
    Das könnte dir evtl. auch behilflich sein.

  • asteiner asteiner
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    25. 02. 2005, 08:25

    Um was geht es beim [b:2af0de49cf]LDAP-Plugin[/b:2af0de49cf] habe mich noch nicht damit befasst...

    Wäre froh um infos...