J'utilise Catalyst::Plugin::Authentication pour l'authentification de l'utilisateur dans mon application Catalyst, et je voudrais pouvoir changer le champ de nom d'utilisateur qu'il utilise lors de l'authentification des utilisateurs (actuellement il est par défaut Nom d'utilisateur). Voici mon actuel mis en place:Catalyst :: Plugin :: Authentification changer le nom d'utilisateur champ
#used for user authentication
__PACKAGE__->config(
authentication => {
default_realm => 'users',
realms => {
users => {
credential => {
class => 'Password',
password_field => 'password',
password_type => 'self_check'
},
store => {
class => 'DBIx::Class',
user_model => 'DB::User',
role_relation => 'roles',
role_field => 'name',
}
}
}
}
);
Comme vous pouvez le voir, il y a une option pour définir le nom du champ de mot de passe, en définissant simplement password_field
. J'ai essayé d'utiliser la même chose avec username_field
, mais cela n'a pas fonctionné. J'ai regardé dans la documentation, mais je n'arrive pas à trouver quelque chose dessus. Est-ce que quelqu'un sait d'une manière que je pourrais faire ceci? Merci!
Mais je ne cherche pas à changer ce qu'il reconnaît comme la clé primaire, je veux changer comment 'Catalyst :: Plugin :: Authentication' par défaut recherche une colonne nommée' username' pour s'authentifier. – srchulo
C'est vrai! Vous pouvez utiliser n'importe quelle colonne de votre table pour reconnaître un utilisateur NON SEULEMENT comme clé primaire. Essayez juste de le faire. – edem