Back to top

Autore Topic: login automatico al backend  (Letto 3083 volte)

Offline liubavand

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
login automatico al backend
« il: 04 Nov 2009, 15:05:44 »
salve a tutti
avrei necessità di ottenere un autologin al backend tramite URL o tramite qualche altro metodo, ci sono plugin o script che lo permettono?

Grazie

     Mirko

Offline MarcoJ

  • Appassionato
  • ***
  • Post: 408
  • Sesso: Maschio
    • Mostra profilo
Re:login automatico al backend
« Risposta #1 il: 04 Nov 2009, 15:26:09 »
Ciao liubavand,
stai per caso chiedendo di fare in sostanza questo: www.mio_sito.it/admin + inserimento login/password di backend in modo automatico ?
Ho capito bene ?
Te lo domando perchè sono un po' stupito, soprattutto considerando che in questo modo di fatto permetti a chiunque di entrare dal lato amministratore.
E quando siamo lì...
Correggimi per cortesia se ho capito male. ???


È più facile fare la cosa corretta, quando sappiamo qual’è la cosa corretta da fare.

Offline liubavand

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
Re:login automatico al backend
« Risposta #2 il: 04 Nov 2009, 15:46:20 »
più o meno sì ovviamente preservando la sicurezza del sistema quindi sono consapevole che con un semplice URL del tipo
http://127.0.0.1/joomla/administrator/index.php?login=pippo&pwd=pippo

non si deve fare e probabilmente non si può fare.

Mi chiedevo se ci fossero altri metodi magari utilizzando degli script.

il mio problema è il seguente:
   - inserisco un nuovo prodotto da un gestionale
   - il gestionale crea un file CSV formattato in modo da essere usato da CSV import
ora avrei due strade
   1) o temporizzare il CSV import (uso CSV improved) che nella versione grauita non si può fare
   2) oppure reindirizzare l'utente che ha inserito il prodotto alla pagina del backend di joomla dove premendo un bottone si fà l'import del CSV

spero di essere stato chiaro...qualche idea??

Grazie

 Mirko

Offline MarcoJ

  • Appassionato
  • ***
  • Post: 408
  • Sesso: Maschio
    • Mostra profilo
Re:login automatico al backend
« Risposta #3 il: 04 Nov 2009, 16:09:06 »
Inizia ad essere più chiaro.
Eviterei comunque gli accessi non controllati al backend.

Detto che non conosco CSV Import, piuttosto non puoi creare un utente di tipo registrato (se evidentemente non li usi) e per quello creare una voce di menù visibile solo a lui (che è quindi protetta da joomla) con un bottone del tipo "Importa ora il tuo CSV" ?

Ciao
 
È più facile fare la cosa corretta, quando sappiamo qual’è la cosa corretta da fare.

Offline liubavand

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
Re:login automatico al backend
« Risposta #4 il: 05 Nov 2009, 15:33:41 »
girando ho trovato questo post
http://forum.joomla.org/viewtopic.php?f=38&t=14276
con una patch che riporto di seguito.
ho seguito le istruzioni ma non ho avuto successo.
qualcuno ha mai provato ad usarla?
soprattutto la modifica all'ultimo file
application.php non funziona in quanto non riesco a richiamare la funzione login
$result =& $mainframe->login($username, $password);
tale funzione si trova nella stessa classe!!

idee?


Index: D:/Shane/dev/bluemanager/administrator/components/com_config/controllers/application.php
===================================================================
--- D:/Shane/dev/bluemanager/administrator/components/com_config/controllers/application.php   (revision 6191)
+++ D:/Shane/dev/bluemanager/administrator/components/com_config/controllers/application.php   (working copy)
@@ -292,6 +292,11 @@
       // META SETTINGS
       $config_array['MetaAuthor']    = JRequest::getVar('MetaAuthor', 1, 'post');
       $config_array['MetaTitle']    = JRequest::getVar('MetaTitle', 1, 'post');
+      
+      // AUTOLOGIN SETTINGS
+      $config_array['auto_login']          = JRequest::getVar('auto_login', 0, 'post');
+      $config_array['auto_login_username']   = JRequest::getVar('username', '', 'post');
+      $config_array['auto_login_password']   = JRequest::getVar('password', '', 'post');
 
       $config->loadArray($config_array);
 
Index: D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/tmpl/config_auto_login.php
===================================================================
--- D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/tmpl/config_auto_login.php   (revision 0)
+++ D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/tmpl/config_auto_login.php   (revision 0)
@@ -0,0 +1,37 @@
+<fieldset class="adminform">
+   <legend><?php echo JText::_( 'Auto Login Settings' ); ?></legend>
+   <table class="admintable" cellspacing="1">
+
+      <tbody>
+      <tr>
+         <td width="185" class="key">
+            <span class="editlinktip">
+            <?php
+               echo mosToolTip( 'Enables auto login only if debugging is enabled.', '', 240, 'tooltip.png', 'Enable Auto Login', '', 0 );
+            ?>
+            </span>
+         </td>
+         <td>
+            <?php
+               echo JHTMLSelect::yesnoList("auto_login",'', $row->auto_login);            
+            ?>
+         </td>
+      </tr>
+      <tr>
+         <td class="key">
+            <?php echo JText::_( 'Username' ); ?>
+         </td>
+         <td>
+            <input class="text_area" type="text" name="username" size="10" value="<?php echo $row->auto_login_username; ?>" />
+         </td>
+      </tr>
+         <tr>
+         <td class="key">
+            <?php echo JText::_( 'Password' ); ?>
+         </td>
+         <td>
+            <input class="text_area" type="text" name="password" size="10" value="<?php echo $row->auto_login_password; ?>" />
+         </td>
+      </tr>
+   </table>
+</fieldset>
Index: D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/view.php
===================================================================
--- D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/view.php   (revision 6191)
+++ D:/Shane/dev/bluemanager/administrator/components/com_config/views/application/view.php   (working copy)
@@ -80,6 +80,7 @@
                   </td>
                   <td with="40%">
                      <?php require_once(dirname(__FILE__).DS.'tmpl'.DS.'config_debug.php'); ?>
+                     <?php require_once(dirname(__FILE__).DS.'tmpl'.DS.'config_auto_login.php'); ?>
                      <?php require_once(dirname(__FILE__).DS.'tmpl'.DS.'config_statistics.php'); ?>
                      <?php require_once(dirname(__FILE__).DS.'tmpl'.DS.'config_cache.php'); ?>
                   </td>
Index: D:/Shane/dev/bluemanager/administrator/includes/application.php
===================================================================
--- D:/Shane/dev/bluemanager/administrator/includes/application.php   (revision 6191)
+++ D:/Shane/dev/bluemanager/administrator/includes/application.php   (working copy)
@@ -375,6 +377,37 @@
          $_REQUEST   = $state->request;
          return true;
       }
+
+      /*
+       * If the user was not logged in, attempt auto login. This is for
+       * development  purposes only as it is DANGEROUS! This will only be
+       * performed if site debugging is enabled. This can be handy for
+       * those times when you are in the middle of coding and you refresh
+       * the page after your session has expired :-)
+       */
+      
+      // Retrieve login details from site configuration
+      $login = JApplication::getCfg('auto_login');
+      $username = JApplication::getCfg('auto_login_username');
+      $password = JApplication::getCfg('auto_login_password');
+      $debug = JApplication::getCfg('debug');
+      
+      // If debugging is enabled and auto-login is set to 1 attempt login
+      if($debug && $login) {
+         // Attempt to override with values from query string
+         $username = JRequest::getVar("username", $username);
+         $password = JRequest::getVar("password", $password);
+         
+         // try to login
+         $result =& $mainframe->login($username, $password);
+
+         // Make sure the user details provided where good
+         if(!JError::isError($result)) {
+            // we are logged in now!
+            return true;
+         }
+      }
+
       // No stored user state exists
       return false;
    }
« Ultima modifica: 05 Nov 2009, 15:35:25 da liubavand »

 



Web Design Bolzano Kreatif