23-08-2011, 02:14 PM
(Modification du message : 23-08-2011, 02:15 PM par Sephi-Chan.)
(23-08-2011, 01:46 PM)Akira777 a écrit : Pour ma part, je trouve que qu'une page nommée "Admin", déjà ca le fait pas... Autant mettre "Gestion" ou "BO" (back-office). Ensuite, il faut avoir une session enregistrée sur ton jeu par exemple et que ton Id Utilisateur soit défini dans un fichier texte crypté en Base64 plus un str_replace bien placé.
Pourquoi Base 64 ? Avoir l'information en clair ou en base 64, c'est pareil. Aucun apport en terme de sécurité.
À part ça, j'utilise très rarement l'authentification HTTP.
Mon système d'authentification repose sur un jeton de persistance. Chaque utilisateur de ma base de données en a un unique et aléatoire. Quand l'utilisateur s'identifie, je mets simplement ce jeton dans un cookie.
Ensuite, je dispose d'une méthode current_user de la forme :
def current_user
@current_user ||= User.find_by_token(cookies[:token]) if cookies[:token]
end
Après, il suffit de tester les rôles dont dispose l'utilisateur. Ou si son attribut admin est à true, ou que sais-je encore.
J'utilise pour ça le système d'ACL Declarative Authorization et ça marche bien et simplement.
Pour un site Web, je ne vois pas vraiment pourquoi faire plus compliqué.