php аутентификации пользователей / фреймворков … какие варианты?

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

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

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

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

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

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

Я обнаружил, что 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']; } } 

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

Похоже, это может быть именно то, что вы ищете, если вы хотите получить zend-auth, работающий в codeigniter. Обновите свой вопрос, если вы обнаружите, что zend-auth & codeigniter является хорошим сочетанием.

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