Codeigniter ion auth problème de mot de passe
J'ai couru dans un problème avec l'ion auth ce que je ne peux pas vraiment résoudre.
J'utilise sha1 de chiffrement, le sel est appuie-pieds off dans la configuration.
Vérifié si l'entrée de la poste poteaux de l'entrée correcte, et il n'.
De type I dans le mot de passe 12345, et qui devrait être 8cb2237d0679ca88db6464eac60da96345513964 de pentecôte de cryptage sha1.
Mais quand il l'envoie dans la base de données son totalement différent à chaque fois, comme il serait de créer une chaîne aléatoire à chaque fois
Voici mon inscription à la fonction
//signup
function signup()
{
loggedIn();
$this->load->view('partials/header');
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[4]');
$this->form_validation->set_rules('repassword', 'Retype Your Password', 'required|min_length[4]|matches[password]');
if($this->form_validation->run() !== FALSE)
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$email = $this->input->post('email');
$additional_data = array('name' => $this->input->post('name'));
$group = array('2');
$this->ion_auth->register($username, $password, $email, $additional_data, $group);
}
$this->load->view('user/user_signup_view');
$this->load->view('partials/footer');
}
Il vous plaît quelqu'un pourrait me donner un indice? ou si quelqu'un a couru dans un problème similaire et il a obtenu fixe, veuillez fournir de l'aide
MODIFIER
fichier de config
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Database Type
| -------------------------------------------------------------------------
| If set to TRUE, Ion Auth will use MongoDB as its database backend.
|
| If you use MongoDB there are two external dependencies that have to be
| integrated with your project:
| CodeIgniter MongoDB Active Record Library - http://github.com/alexbilbie/codeigniter-mongodb-library/tree/v2
| CodeIgniter MongoDB Session Library - http://github.com/sepehr/ci-mongodb-session
*/
$config['use_mongodb'] = FALSE;
/*
| -------------------------------------------------------------------------
| MongoDB Collection.
| -------------------------------------------------------------------------
| Setup the mongodb docs using the following command:
| $ mongorestore sql/mongo
|
| Ion Auth uses a simplified schema when using MongoDB as backend, here they are:
|
| groups: {
| _id: GROUP_ID,
| name,
| description
| }
|
| login_attempts: {
| _id: LOGIN_ATTEMPT_ID,
| ip_address,
| login,
| time
| }
|
| users: {
| _id: USER_ID,
| ip_address,
| username, (ensureIndex)
| password,
| salt,
| email, (ensureIndex)
| activation_code,
| forgotten_password_code, (ensureIndex)
| forgotten_password_time,
| remember_code,
| created_on, (ensureIndex)
| last_login,
| active, (ensureIndex)
| first_name,
| last_name,
| company,
| phone,
| groups: [GROUP_ID_1, GROUP_ID_2, ...], (ensureIndex)
| }
|
*/
$config['collections']['users'] = 'users';
$config['collections']['groups'] = 'groups';
$config['collections']['login_attempts'] = 'login_attempts';
/*
| -------------------------------------------------------------------------
| Tables.
| -------------------------------------------------------------------------
| Database table names.
*/
$config['tables']['users'] = 'job_users';
$config['tables']['groups'] = 'job_groups';
$config['tables']['users_groups'] = 'job_users_groups';
$config['tables']['login_attempts'] = 'job_ogin_attempts';
/*
| Users table column and Group table column you want to join WITH.
|
| Joins from users.id
| Joins from groups.id
*/
$config['join']['users'] = 'user_id';
$config['join']['groups'] = 'group_id';
/*
| -------------------------------------------------------------------------
| Hash Method (sha1 or bcrypt)
| -------------------------------------------------------------------------
| Bcrypt is available in PHP 5.3+
|
| IMPORTANT: Based on the recommendation by many professionals, it is highly recommended to use
| bcrypt instead of sha1.
|
| NOTE: If you use bcrypt you will need to increase your password column character limit to (80)
|
| Below there is "default_rounds" setting. This defines how strong the encryption will be,
| but remember the more rounds you set the longer it will take to hash (CPU usage) So adjust
| this based on your server hardware.
|
| If you are using Bcrypt the Admin password field also needs to be changed in order login as admin:
| $2a$07$SeBknntpZror9uyftVopmu61qg0ms8Qv1yV6FG.kQOSM.9QhmTo36
|
| Becareful how high you set max_rounds, I would do your own testing on how long it takes
| to encrypt with x rounds.
*/
$config['hash_method'] = 'sha1'; //IMPORTANT: Make sure this is set to either sha1 or bcrypt
$config['default_rounds'] = 8; //This does not apply if random_rounds is set to true
$config['random_rounds'] = FALSE;
$config['min_rounds'] = 5;
$config['max_rounds'] = 9;
/*
| -------------------------------------------------------------------------
| Authentication options.
| -------------------------------------------------------------------------
| maximum_login_attempts: This maximum is not enforced by the library, but is
| used by $this->ion_auth->is_max_login_attempts_exceeded().
| The controller should check this function and act
| appropriately. If this variable set to 0, there is no maximum.
*/
$config['site_title'] = "Example.com"; //Site Title, example.com
$config['admin_email'] = "[email protected]"; //Admin Email, [email protected]
$config['default_group'] = 'members'; //Default group, use name
$config['admin_group'] = 'admin'; //Default administrators group, use name
$config['identity'] = 'email'; //A database column which is used to login with
$config['min_password_length'] = 7; //Minimum Required Length of Password
$config['max_password_length'] = 20; //Maximum Allowed Length of Password
$config['email_activation'] = FALSE; //Email Activation for registration
$config['manual_activation'] = FALSE; //Manual Activation for registration
$config['remember_users'] = TRUE; //Allow users to be remembered and enable auto-login
$config['user_expire'] = 86500; //How long to remember the user (seconds)
$config['user_extend_on_login'] = FALSE; //Extend the users cookies everytime they auto-login
$config['track_login_attempts'] = FALSE; //Track the number of failed login attempts for each user or ip.
$config['maximum_login_attempts'] = 3; //The maximum number of failed login attempts.
$config['forgot_password_expiration'] = 0; //The number of seconds after which a forgot password request will expire. If set to 0, forgot password requests will not expire.
/*
| -------------------------------------------------------------------------
| Email options.
| -------------------------------------------------------------------------
| email_config:
| 'file' = Use the default CI config or use from a config file
| array = Manually set your email config settings
*/
$config['use_ci_email'] = FALSE; //Send Email using the builtin CI email class, if false it will return the code and the identity
$config['email_config'] = array(
'mailtype' => 'html',
);
/*
| -------------------------------------------------------------------------
| Email templates.
| -------------------------------------------------------------------------
| Folder where email templates are stored.
| Default: auth/
*/
$config['email_templates'] = 'auth/email/';
/*
| -------------------------------------------------------------------------
| Activate Account Email Template
| -------------------------------------------------------------------------
| Default: activate.tpl.php
*/
$config['email_activate'] = 'activate.tpl.php';
/*
| -------------------------------------------------------------------------
| Forgot Password Email Template
| -------------------------------------------------------------------------
| Default: forgot_password.tpl.php
*/
$config['email_forgot_password'] = 'forgot_password.tpl.php';
/*
| -------------------------------------------------------------------------
| Forgot Password Complete Email Template
| -------------------------------------------------------------------------
| Default: new_password.tpl.php
*/
$config['email_forgot_password_complete'] = 'new_password.tpl.php';
/*
| -------------------------------------------------------------------------
| Salt options
| -------------------------------------------------------------------------
| salt_length Default: 10
|
| store_salt: Should the salt be stored in the database?
| This will change your password encryption algorithm,
| default password, 'password', changes to
| fbaa5e216d163a02ae630ab1a43372635dd374c0 with default salt.
*/
$config['salt_length'] = 10;
$config['store_salt'] = FALSE;
/*
| -------------------------------------------------------------------------
| Message Delimiters.
| -------------------------------------------------------------------------
*/
$config['message_start_delimiter'] = '<p>'; //Message start delimiter
$config['message_end_delimiter'] = '</p>'; //Message end delimiter
$config['error_start_delimiter'] = '<p>'; //Error mesage start delimiter
$config['error_end_delimiter'] = '</p>'; //Error mesage end delimiter
/* End of file ion_auth.php */
/* Location: ./application/config/ion_auth.php */
vérifié que ne trouve pas de
OriginalL'auteur Side | 2012-06-21
Vous devez vous connecter pour publier un commentaire.
ion_auth ne utiliser un sel et son hasard..
Voir les configs:
Vous devez créer un contrôleur pour créer l'utilisateur.
Modifier
Viens de remarquer que vous faites cela.. j'étais sous l'impression que vous essayez d'ajouter manuellement à l'utilisateur de la table.
Quelques questions
loggedIn();
Vous êtes à la définition de
$additional_data
incorrectement comme il y afirst_name
,last_name
,phone
champs et pas dename
champ.enlevé le premier et le dernier nom de la base de données et nom, sa enregistre parfaitement, le problème est avec le sel, j'ai modifié cette ligne $config['salt_length'] = 10; 0 et de cette façon, aucun mot de passe n'a été enregistré
avez-vous été capable de vous connecter avec la valeur par défaut de l'utilisateur/mot de passe est entré dans la table?
j'utilise la même bibliothèque avec bcrypt et il fonctionne très bien pour moi hmph
ne peut pas sembler obtenir ce travail, qui ne parvient pas trop le login admin
OriginalL'auteur gorelative
D'abord merci à Mike pour son aide.
J'ai réussi à le faire, et je me sens un peu stupide.
Était le problème de l'identité. J'ai été vérifier l'identité avec nom, au lieu de e-mail.
Maintenant il fonctionne comme un charme.
Et merci Encore Mike
Merci de poster ce! J'ai eu le même problème, et vous m'avez sauvé un peu de temps!
OriginalL'auteur Side