2009-07-20 15 views
8

Sto utilizzando PHP e il framework codeigniter per un progetto su cui sto lavorando e richiedono un sistema di accesso/autenticazione utente.librerie/framework di autenticazione utente php ... quali sono le opzioni?

Per ora preferisco non utilizzare SSL (potrebbe essere eccessivo e il fatto che sto usando l'hosting condiviso scoraggia questo). Ho preso in considerazione l'utilizzo di openID ma ho deciso che poiché il pubblico di destinazione non è generalmente tecnico, potrebbe spaventare gli utenti (per non parlare del fatto che richiede il mirroring delle informazioni di accesso, ecc.). So che potrei scrivere un'autenticazione basata su hash (come sha1) poiché non sono passati dati sensibili (vorrei confrontare il livello di sensibilità con quello di stackoverflow).

Detto questo, prima di creare una soluzione personalizzata, sarebbe bello sapere se ci sono buone librerie o pacchetti che sono stati usati per fornire l'autenticazione semi-sicura? Sono nuovo al codeigniter, ma sarebbe preferibile qualcosa che si integri bene con esso. Qualche idea? (Sono aperto a critiche sul mio approccio e aperto a suggerimenti sul motivo per cui potrei essere pazzo a non usare solo ssl). Grazie in anticipo.

Aggiornamento: ho esaminato alcuni dei suggerimenti. Sono curioso di provare zend-auth poiché sembra ben supportato e ben costruito. Qualcuno ha esperienza con l'uso di zend-auth in codeigniter (è troppo voluminoso?) E hai un buon riferimento per l'integrazione con CI? Non ho bisogno di schemi di autenticazione complessi ... basta un semplice sistema di login/logout/password-gestione delle autorizzazioni.

Inoltre, dx_auth sembra interessante, tuttavia sono preoccupato che sia troppo buggato. Qualcun altro ha avuto successo con questo?

ho capito che mi piacerebbe anche gestire gli utenti ospiti (cioè gli utenti che non login/iscrizione) in modo simile a stackoverflow..so tutti i suggerimenti che dispongono di questa funzionalità sarebbe grande

+0

controllo la risposta: http://stackoverflow.com/questions/1106604/framework-for-administrating-users/1116855#1116855 –

+0

c'è anche componente di autenticazione PEAR – kguest

+0

Si consiglia di dare un'occhiata a https: // github.com/delight-im/PHP-Auth che è sia agnostico rispetto al framework che indipendente dal database. – caw

risposta

2

Ho trovato dx_auth essere abbastanza buono in Codeigniter e l'ho usato prima. È sicuramente la libreria di autenticazione più completa per Codeigniter.

C'erano alcune cose che dovevo fare per cambiarlo, quindi ho esteso la loro classe User con alcune funzioni per i miei scopi (alcune delle loro funzioni non fanno esattamente quello che ci si potrebbe aspettare ..). Qui è un segmento di alcune delle personalizzazioni che ho fatto:

 $CI = &get_instance(); 
    $CI->load->model("dx_auth/users"); 
    /** 
    * For most things, try and use the dx_auth models, 
    * because it's already done, and some stuff is more 
    * annoying to figure out than might be expected. 
    * 
    * For anything site-specific, use this model instead. 
    * 
    */ 

    class UserModel extends Users { 
     /** 
     * Sometimes when dx_auth sucks, you have to compensate 
     * functions that return useful results. 
     * 
     * @param int $id id of user to check if banned 
     * @return int $banned returns the result (0 or 1) 
     */ 
     public function is_banned($id) { 
      $query = "SELECT banned FROM users WHERE id=".(int)$id; 
      $result=$this->db->query($query); 
      $row = $result->row_array(); 
      return $row['banned']; 
     } 


    } 
+0

L'ho usato anche per numerosi progetti e ho avuto successo con esso. È semplice e fa praticamente tutto ciò di cui hai bisogno. – ryeguy

4

che uso Zend_Auth . Ma io lavoro con Zend Framework in generale. Per quello che ho sentito si integra bene con CI. Con Zend_Auth, utilizzo un adattatore Db_Table e SHA1 con un valore globale. Questo è sufficiente per molti scopi, penso.

+0

Un paio di anni di esperienza più tardi, e ora so che il codeigniter è molto più datato. Ora uso ZF per tutto e ho bisogno di imparare Dottrina. –

2

Sembra this potrebbe essere esattamente quello che stai cercando, se si desidera ottenere zend-auth lavorare in CodeIgniter. Per favore aggiorna nuovamente la tua domanda se trovi il codificatore zend-auth &

Personalmente ho trovato che l'hacking dx_auth è un bel problema, soprattutto per la mancanza di documentazione, e mi piacerebbe molto dare qualcos'altro da fare se sembra promettente.

+0

grazie, posso dare una possibilità – oym

Problemi correlati