Back to top

Autore Topic: plugin Authentication - Joomla  (Letto 2779 volte)

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
plugin Authentication - Joomla
« il: 07 Nov 2012, 11:12:57 »
Ciao a tutti
ho la necessita di modificare il suddetto plugin in modo che dopo aver verificato le credenziali e aver effettuato il login faccia un header in php ad una location che indico io.  ho trovato il metodo onUserAuthenticate della classe plgAuthenticationJoomla, ma non riesco a modificarlo secondo le mie esigenze.
avete qualche idea?
Grazie

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #1 il: 07 Nov 2012, 11:30:51 »
perchè...non c'è nel setup lo spazio per indicare il redirect dopo il login?

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #2 il: 07 Nov 2012, 11:41:46 »
nella versione 2.5 c'è solo la tendina chiamata reindirizzamento dopo login con le opzioni base. a me serve una cosa più evoluta.
al momento del login devo controllare se nell' url di provenienza esiste il parametro url

index.php/?url=www.google.it

se url esiste e non è vuoto dopo che il login ha avuto successo devo fare subito un header('Location: '.$_GET['url']) con il valore di url appunto, che in questo esempio è google.it.

il problema è che non so dove va messa questa benedetta header().

spero di essermi spiegato.

Grazie

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #3 il: 07 Nov 2012, 11:46:13 »
...pasticci....

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #4 il: 07 Nov 2012, 11:47:25 »
cioè? :o

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #5 il: 07 Nov 2012, 11:53:47 »
quale scopo ha?

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #6 il: 07 Nov 2012, 11:56:50 »
lo scopo enga è quello che lui tenta di accedere ad una pagina, ma ovviamente non essendo loggato la rimanda alla home per autenticarsi. io vorrei che automaticamente dopo il login venga reindirizzato automaticamente alla pagina che aveva richiesto prima.

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #7 il: 07 Nov 2012, 12:07:22 »
se io tento di accedere ad una pagina e vengo ributtato in home il mio uri sarà quello dell'home.

stavo pensandoci e non è impossibile ma un po' complicato, soprattutto per evitare abusi.... conosci bene il framework joomla? ... si può vedere di fare qualcosa...

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #8 il: 07 Nov 2012, 12:17:19 »
lo conosco un po', certo non in maniera eccellente. però se hai qualche consiglio/aiuto da darmi è ben accetto almeno capisco eventualmente anche come funziona bene il modulo di login.

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #9 il: 07 Nov 2012, 12:39:31 »
mmmhh aspetta, forse sono io che sto complicando le cose... prova a leggere qs
http://docs.joomla.org/How_do_you_redirect_users_after_a_successful_login%3F

M.

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #10 il: 07 Nov 2012, 12:45:05 »
no, scusa se mi "doppio" ma avevo ragione.....

il problema è:
se io tento di accedere ad una pagina e tu mi ributti al login è in quel punto che devi "memorizzare" cosa ho richiesto e non sono ancora arrivato ai due triggers del plugin.
Qando ci arrivo è perchè ho inserito i dati nel form login... se mi prendi il referrer nel plugin... vengo dal modulo di login per forza.

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #11 il: 08 Nov 2012, 12:23:17 »
con quello che hai postato sono riuscito a risolvere grazie!!!!

anzi non ancora del tutto, ma la soluzione è vicina
« Ultima modifica: 08 Nov 2012, 12:26:01 da terso88 »

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #12 il: 08 Nov 2012, 12:41:18 »
... magari, senza postare il codice, spiega almeno gli step che hai seguito... insomma..la logica, è importante per chi rileggerà qs post

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #13 il: 08 Nov 2012, 12:50:05 »
si scusa ;D !!!
in pratica in compnents\com_users\models\login.php ho commentato questo pezzo di codice

Codice: [Seleziona]
if (!JURI::isInternal($data['return'])) {
              $data['return'] = '';
}

così qualunque url passo in base_encode64 lo posso utilizzare per fare un redirect.

la mia domanda ora però è un' altra (ho aperto un altro post forse inutilmente).
avendo modificato quel file al prossimo aggiornamento del componente o di joomla perdo le modifiche giusto? se sì dove devo fare l' override del componente login?

Scusa ancora le domande banali, ma non sono espertissimo di joomla e sto cercando di cavarmela leggendo e facendo delle prove.

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #14 il: 08 Nov 2012, 13:31:29 »
così qualunque url passo in base_encode64 lo posso utilizzare per fare un redirect
------------------------------------------------------------

e cosa implica nella sicurezza? ... le var nelle get e post sono delicate...

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #15 il: 08 Nov 2012, 14:13:08 »
per la sicurezza ho creato una tabella nel db dove inserisco gli url validi. prima di reindirizzarlo faccio questa query

Codice: [Seleziona]
$query="SELECT COUNT(*) FROM #__url where url='".base_decode64(mysql_real_escape_string($results))."'";

se la query restituisce un elemento (e solo uno) allora è valido è quindi mantengo in valore nella $data[return], altrimenti esegue svuota la variabile.
questo riesco a farlo perchè gli url appartengono tutti al mio sito. forse non è il massimo dello stile però è la cosa più semplice che mi è venuta in mente ;D

il problema è che questa modifica nel model se faccio un aggiornamento viene sovrascritta se non sbaglio. quindi come faccio per far si che ciò non accada?

mau_develop

  • Visitatore
Re:plugin Authentication - Joomla
« Risposta #16 il: 08 Nov 2012, 14:29:42 »
yess... dovresti fare quella cosa nel plugin ... non so se riesci a farlo nel tipo che usi o se devi farne un altro

... cmq bravo

M.

Offline terso88

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:plugin Authentication - Joomla
« Risposta #17 il: 08 Nov 2012, 14:59:28 »
forse ho trovato la soluzione anche per l'override del model del modulo.
se clono il model e lo chiamo mymodel anche se faccio un aggiornamento di joomla dovrò solo andare a modificare la riga del controller che richiama il model senza dover riscriverlo tutto. quindi se si sballa dovrei cambiare una sola riga. che ne pensi? è una buona soluzione? Grazie

 



Web Design Bolzano Kreatif