https://github.com/balita1124/rails-setting-up-devise
Mise en place de devise dans une application ruby on rails
https://github.com/balita1124/rails-setting-up-devise
devise example mysql ruby ruby-on-rails
Last synced: about 2 months ago
JSON representation
Mise en place de devise dans une application ruby on rails
- Host: GitHub
- URL: https://github.com/balita1124/rails-setting-up-devise
- Owner: Balita1124
- Created: 2017-05-03T12:27:12.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T03:25:20.000Z (over 3 years ago)
- Last Synced: 2025-12-26T19:35:44.275Z (6 months ago)
- Topics: devise, example, mysql, ruby, ruby-on-rails
- Language: Ruby
- Homepage:
- Size: 53.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Exemple d'utilisation de devise
Cette exemple illustre l'utilisation de Devise
Specification:
* Rails 5
* Devise 4.2.1
* Mysql
Utilisation:
* 1 - Création de l'application
$ rails new Devise -d mysql
* 2 - Ajouter devise dans le Gemfile
gem 'devise'
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
* 3 - Installation des fichiers de configuration de devise
$ rails generate devise:install
* 4 - Génération du module devise
$ rails generate devise user
* 5 - Migration
$rake db:migrate
* 6 - Création des controleurs(view aussi)
$ rails generate controller home index
* 7 - Modification du homeController
class HomeController < ApplicationController
before_filter :authenticate_user!
def index
end
def new
end
def edit
end
end
* 8 - Authentification avec un nom d'utilisateur
8 - a) Ajouter username dans user
$ rails generate migration add_username_to_users username:string
8 - b) Changer le fichier de configuration de devise(config/initializers/devise.rb)
config.authentication_keys = [:username]
config.case_insensitive_keys = [:username]
config.strip_whitespace_keys = [:username]
8 - c) Générer les views
$ rails generate devise:views
8 - d) Remplacer login par username dans app/views/devise/sessions/new.html.erb
8 - e) Ajouter username dans app/views/devise/registrations/new.html.erb
8 - c) Ajouter ceci dans /app/controller/application_controller.rb
devise_parameter_sanitizer.for(:sign_in) {|u| u.permit(:email,:username)}
devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:email, :username, :password, :password_confirmation)}
* 9 - Authentification à la fois avec un nom d'utilisateur et un email
9 - a) ajouter ceci dans /app/models/user.rb
attr_accessor :signin
9 - b) changer la valeur suivante dans /config/initializers/devise.rb
config.authentication_keys = [ :signin ]
9 - c) Parameterer le modele, ajouter ce code dans ce dernier
validates :username, :uniqueness => {:case_sensitive => false}
def self.find_first_by_auth_conditions(warden_conditions)
conditions = warden_conditions.dup
where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => signin.downcase }]).first
end
9 - d) Ajouter ceci dans /app/controller/application_controller.rb
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_in) {|u| u.permit(:signin)}
devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:email,:username, :password, password_confirmation)}
end
9 - e) Ajouter signin dans /app/views/devise/sessions/new.html.erb
* 10 - Modifier le compte de l'utilisateur
10 - a) Ajouter username dans