Loginbox per TypoScript (mit kb_md5feuser und newloginbox)

Submitting your vote...
Rating: 2.0 of 5. 3 vote(s).
Click the rating bar to rate this item.

Dieses Beispiel demonstriert die Möglichkeit der Erstellung einer Loginbox per TypoScript. Diese Loginbox funktioniert mit md5 Passwörtern (ext: kb_md5feuser) und der Extension newloginbox.

 

# prüfe, ob bereits eingeloggt (ein feuser muß zu einer Gruppe gehören)
[usergroup=*]

# Abmeldeformular mit Benutzernamen
lib.login = COA_INT
lib.login {
  10 = TEXT
  10.wrap = <span id="logoutUName">|</span>
   
  20 = TEXT
  20.typolink.parameter = {$plugin.tx_newloginbox.loginUID}
  20.typolink.returnLast = url
  20.wrap = <form action="|" method="post">
   
  30 = COA
  30 {
    5 = TEXT
    5.wrap = <input type="submit" id="logout" value="|" />
     
    10 = TEXT
    10.value = <input type="hidden" name="logintype" value="logout" />
    20 = TEXT
    20.value = <input type="hidden" name="redirect_url" value="" />
    30 = TEXT
    30.value = </form>
  }
}

# ansonsten stellen wir ein Anmeldeformular zur Verfügung
[else]

# wichtig, da wir an den Challenge-Wert von kb_md5feuser nur über ein PHP-Script kommen
includeLibs.md5fepw = fileadmin/scripts/md5fepw.php
lib.login = COA_INT
lib.login {
  10 = TEXT
  10.typolink.parameter = {$plugin.tx_newloginbox.loginUID}
  10.typolink.returnLast = url
  10.wrap = <form action="|" method="post" onsubmit="superchallenge_pass(this); return true;">
   
  # form
  20 = COA
  20 {
    10 = TEXT
    10.value = Login
    10.wrap = <input type="text" name="user" onclick="this.value=''" value="|" /> <br />
    20 = TEXT
    20.wrap = <input type="password" name="pass" onclick="this.value=''" value="|" />
     
    30 = COA
    30 {
      10 = TEXT
      10.value = <input type="hidden" name="logintype" value="login" />
      20 = TEXT
      20.value = {$plugin.tx_newloginbox.storageUID}
      20.wrap = <input type="hidden" name="pid" value="|" />
       
      # Aufruf des PHP-Scriptes
      25 = USER
      25.userFunc = user_md5fepw->md5Challenge
       
      30 = TEXT
      30.value = <button type="submit"><img src="fileadmin/templates/res/pictures/go.gif" alt="login" /></button>
      40 = TEXT
      40.value = </form>
    }
  }
}
[usergroup]

# Inhalte für Abmeldeformular nach Sprache einbinden (in unserem Beispiel Englisch und Deutsch)
[usergroup=*] AND [globalVar = GP:L = {$langUID_EN}]
lib.login.10.value = Hello <!--###USERNAME###-->
lib.login.30.5.value = press to logout
[else]
lib.login.10.value = Hallo <!--###USERNAME###-->
lib.login.30.5.value = zum abmelden best&auml;tigen
[global]

# ermöglicht einbinden nur auf spezieller Seite und dessen Unterseiten
[PIDinRootline={$siteIntern}]
lib.login.if.isTrue = 1

# globale Ermöglichung des Login, falls Konstante auf 1 gesetzt wird
[else]
lib.login.if.isTrue = {$activateLogin}
[global]

 

Hier das benötigte PHP-Script. Inhalt des PHP-Scriptes (Funktion kopiert von kb_md5feuser und leicht modifiziert)

 


<?php
class user_md5fepw {
function 
md5Challenge($content$conf)
{
$js '
function superchallenge_pass(form) {
var pass = form.pass.value;
if (pass) {
form.pass.value = MD5(form.user.value + ":" + MD5(pass) + ":" + form.challenge.value);
return true;
} else
return false;
}'
;

$GLOBALS['TSFE']->JSCode .= $js;
$GLOBALS['TSFE']->additionalHeaderData['tx_kbmd5fepw_newloginbox'] = '<script language="JavaScript" type="text/javascript" src="typo3/md5.js"></script>';
$chal_val md5(time().getmypid());
$res $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_kbmd5fepw_challenge', array('challenge' => $chal_val'tstamp' => time()));
return 
'<input type="hidden" name="challenge" value="'.$chal_val.'">';
}
}
?> 

 

 

Dieses Snippet wurde von Stefan Galinski eingesendet


Top 10 Updates

Transparente PNG's in IE5/6 ohne JavaScript geändert am  04-Okt-2008 12:28:14
Typoscript Eigenschaften mit stdWrap erweitern geändert am  13-Jun-2008 14:16:12
Anderes Feld für GMENU alt Text geändert am  13-Jun-2008 13:55:51
Lightbox ohne Extension einbinden geändert am  13-Jun-2008 13:46:21
Menü erstellen mit Daten aus anderen Tabellen als pages V2 geändert am  24-Mär-2008 13:02:25
Login geändert am  17-Mär-2008 12:18:29
Forum geändert am  17-Mär-2008 10:07:40
Wer sind wir? geändert am  26-Dez-2007 16:06:55
Menu als unnested lists (iphone navigation) geändert am  29-Okt-2007 15:05:47
If Bedingungen mit UND und ODER Operator... geändert am  16-Okt-2007 19:04:17
English
Suche: