2009-07-20 5 views
8

Я использую PHP и фреймворк codeigniter для проекта, над которым я работаю, и требую систему входа/аутентификации пользователя.php аутентификация библиотек пользователей/фреймворков ... какие параметры?

На данный момент я предпочитаю не использовать SSL (может быть, излишний и тот факт, что я использую общий хостинг, отпугивает это). Я рассмотрел использование openID, но решил, что, поскольку моя целевая аудитория, как правило, не является технической, она может напугать пользователей (не говоря уже о том, что для этого требуется зеркалирование информации для входа и т. Д.). Я знаю, что я мог бы написать хэш-аутентификацию (например, sha1), поскольку не передаются важные данные (я бы сравнил уровень чувствительности с уровнем stackoverflow).

Говоря это, прежде чем создавать собственное решение, было бы неплохо узнать, есть ли какие-либо хорошие библиотеки или пакеты, которые вы использовали для обеспечения полузащищенной аутентификации? Я новичок в codeigniter, но что-то, что хорошо сочетается с ним, было бы предпочтительнее. Есть идеи? (я открыт для критики по моему подходу и открыт для предложений относительно того, почему я могу сходить с ума, а не просто использовать ssl). Заранее спасибо.

Обновление: Я рассмотрел некоторые из предложений. Мне любопытно попробовать zend-auth, так как он хорошо поддерживается и хорошо построен. У кого-нибудь есть опыт использования zend-auth в codeigniter (он слишком громоздкий?), И есть ли у вас хорошая ссылка на интеграцию с CI? Мне не нужны сложные схемы аутентификации. Просто простая система авторизации входа/выхода из системы/пароля.

Кроме того, dx_auth также кажется интересным, однако я обеспокоен тем, что он слишком глючит. Кто-нибудь еще имел успех с этим?

я понял, что я хотел бы, чтобы управлять гостевыми пользователями (т.е. пользователями, не Войти/зарегистрироваться) аналогичным образом stackoverflow..so любых предложений, которые имеют эту функциональность была бы здорово

+0

проверка ответ: http://stackoverflow.com/questions/1106604/framework-for-administrating-users/1116855#1116855 –

+0

есть также компонент аутентификации PEAR в – kguest

+0

Вы можете посмотреть на https: // github.com/delight-im/PHP-Auth, который является одновременно и агностиком, и агностиком базы данных. – caw

ответ

2

Я нашел dx_auth, чтобы быть неплохим в Codeigniter и использовал его раньше. Это, безусловно, самая полнофункциональная библиотека аутентификации для Codeigniter.

Было несколько вещей, которые мне нужно было сделать, чтобы изменить его, поэтому я расширил свой класс User несколькими функциями для своих целей (некоторые из их функций не делают именно то, что вы могли бы ожидать.). Вот сегмент некоторых настроек, которые я сделал:

 $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

Я использовал это для многочисленных проектов, а также имел успех. Это просто и делает практически все, что вам нужно. – ryeguy

4

я использую Zend_Auth , Но я работаю с Zend Framework в целом. К тому, что я слышал, он хорошо интегрируется с CI. С Zend_Auth я использую адаптер Db_Table и SHA1 с глобальной солью. Думаю, этого достаточно для многих целей.

+0

Спустя пару лет опыта, и теперь я знаю, что когниционист - это путь. Я использую ZF для всего сейчас, и мне нужно изучить Учение. –

2

this Похоже, может быть именно то, что вы ищете, если вы хотите получить Зенд-AUTH работает в CodeIgniter. Пожалуйста, уточните свой вопрос, если вы найдете zend-auth codeigniter, чтобы быть хорошим микс ..

Я лично нашел взломать dx_auth, чтобы быть довольно больным, особенно из-за отсутствия документации, и я бы хотел дать что-то еще, если это звучит многообещающе.

+0

спасибо, я могу дать это выстрел – oym