[TYPO3-UG Italy] R: Passaggio utente applicazioni esterne

Federico Bernardin federico.bernardin at immaginario.com
Fri May 5 10:35:26 CEST 2006


Ciao Roberto,
io non ho mai usato l'estensione "LumoNet PHP Include", ma potevi anche
usare un PHP_SCRIPT in questo modo:

tmp.script=PHP_SCRIPT
tmp.script.file=fileadmin/login.inc

Dove login.inc è questo file:

<?php
 $user=$GLOBALS['TSFE']->fe_user->user;
If (isset($user)){
		//utente loggato e ti recuperi I parametri di password e
username che tra l'altro si chiamano così
}
Else {
 //utente non loggiato
}
?>

Il vantaggio di questa soluzione è che non devi fare quesry sul db, le ha
già fatte typo3 e non devi salvare su più file i dati del db.

Così fa veramente tutto typo3.

Ciao

Federico



-----Messaggio originale-----
Da: typo3-ug-italy-bounces at lists.netfielders.de
[mailto:typo3-ug-italy-bounces at lists.netfielders.de] Per conto di Roberto
Torresani
Inviato: giovedì 4 maggio 2006 17.42
A: TYPO3 Usergroup Italy
Oggetto: Re: [TYPO3-UG Italy] Passaggio utente applicazioni esterne

>
>
>
> Penso si possa fare anche via TS ma al momento non mi viene in mente
> come (hai provato a cercare negli archivi delle mailing list inglese e
> dev?). Io farei un piccolo codice PHP che crea il link che ti serve e
> poi lo richiamerei con una USER_INT nel template.
>
> Per accedere ai dati dell'utente loggato puoi usare:
> $GLOBALS['TSFE']->fe_user->user
> questo restituisce un array con tutti i dati dell'utente di FE.



Ciao Mauro e Federico,
Grazie per i suggerimenti. per il momento ho risolto cosi:

* Ho installato il plugin "LumoNet PHP Include" per includere il codice php;

* Questo componente lo ho inserito in una pagina impostando :
  - Transfer cookie data;
  - URL vi HTTP;
  - e l'URL del mio codice PHP;
Con transfer cookie viene passato un parametro che typo3 si registra in una
tabella.

* Il mio codice php:


<?
$db_host = "localhost";
$db_user = "db_user";
$db_password = "db_password";
$db_name = "db_name";

// Connessione al dbserver
$db = mysql_connect($db_host, $db_user, $db_password);
if (!$db) die ("Errore nella connessione la db. Verificare i dati di
configurazione");

// Connessione al database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database.");

$query = "
   SELECT ses_id, username
   FROM fe_sessions
   INNER JOIN fe_users ON ses_userid = uid
   WHERE ses_id='".$_GET['fe_typo_user']."'";

//echo $query."<br><br>";

$result = mysql_query($query, $db);
if ($result) $row = mysql_fetch_array($result);

echo "Software verifica utente<br/><br/>";
echo $_GET['fe_typo_user']." corrisponde all'utente
".$row[username]."<br/>\n";
?>

In questo modo tutta la gestione di autentificazione e gestione delle
sessioni la lascio a Typo3.

La mia applicazione riceve il valore di sessione e verifica se e' ancora
attribuibile a qualche
utente. Dalle mie analisi, dovrebbe essere limitata la possibilità di
riuscire ad accedere come
altro utente e non vengono trasmess sulla rete login e password ne in chiaro
ne in modo criptato.
L'unico dato che passa è un valore che cambia per ogni sessione.

In un secondo momento pensavo d fare una vista con solo i due valori letti
dalla select presente
nel mio codice php e lasciare la visione fuori da typo3 solo a quella vista,
evitando cosi' la possibilità
di collegamenti strani alle tabelle del db.

Ciao e grazie

Roberto
_______________________________________________
TYPO3-UG-italy mailing list
TYPO3-UG-italy at lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-italy

-- 
Il messaggio e' stato verificato da MailScanner (1).

=




More information about the TYPO3-UG-italy mailing list