Ruby on Rails lernen Rekord-2020.10.07 ②

Benutzerauthentifizierungsfunktion Benutzerauthentifizierung Mechanismus zur Bestätigung und zum Zugriff auf die andere Partei -Authentifizierung: Authentifizierung Bestätigung der Identität -Permission: Geben Sie das Ergebnis der Autorisierungsauthentifizierung an und verwenden Sie die Berechtigung

devise

devise : Eine Bibliothek, die Rails einen Benutzerauthentifizierungsmechanismus bietet
  • Anmelden: Benutzerinformationen und verschlüsseltes Passwort in der Datenbank speichern --Benutzerbestätigung per E-Mail --Login: Authentifizierung per E-Mail und Passwort
  • Sitzungsmanagement mit Cookies
  • Benutzerverfolgung: Anzahl der Anmeldungen, Datum und Uhrzeit, IP-Adresse usw.
  • Passwort zurücksetzen --Benutzersperre
  • OmniAuth-Unterstützung: SNS-Authentifizierung durch Twitter, Facebook usw.

Hinzufügen und Installieren der Gerätebibliothek

gem 'devise'
$ rails g devise:install```

 <h1> Manuelle Einstellung </ h1>

 Standard-URL hinzufügen


#### **`config/environments/development.rb`**
```rb

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.raise_delivery_errors = false
config.action_mailer.perform_caching = false

Geben Sie root_url an

config/routes.rb


root 'welcome#index'

Erstellen Sie einen Anzeigeort für Flash-Nachrichten

app/views/layouts/application.html.erb


<body>
  <p class="notice"><%= notice %></p>
  <p class="alert"><%= alert %></p>
  <%= yield %>
</body>

Generieren Sie eine Ansicht für die Benutzerauthentifizierung $ rails g devise:views

Unterstützung für die Ansichtsentwicklung --Login: app / views / devise / session / new.html.erb

  • Melden Sie sich an: app / views / devise / registrations / new.html.erb
  • Benutzerinformationen ändern: app / views / devise / registrations / edit.html.erb
  • Ändern Sie das Passwort: app / views / devise / passwords / edit.html.erb
  • E-Mail-Authentifizierung: app / views / devise / bestätigungen / new.html.erb
  • Zurücksetzen des Passworts: app / views / devise / passwords / new.html.erb
  • Konto entsperren: app / views / devise / unlocks / new.html.erb

Erstellen eines Benutzermodells Erstellen eines Benutzermodells

rails g devise User rails db:migrate

Registrieren Sie Erstbenutzer sofort im Gerät

db/seeds.rb


User.create(email: '[email protected]', password: 'password')
User.create(email: '[email protected]', password: 'password')
User.create(email: '[email protected]', password: 'password')

$ rails db:seed

Zugriffsbeschränkungen Login-Navigation hinzufügen

app/views/welcome/index.html.erb


<% if user_signed_in? %>
  Logged in as <strong><%= current_user.email %></strong>.
  <%= link_to "Settings", edit_user_registration_path %> |
  <%= link_to "Logout", destroy_user_session_path, method: :delete %>
<% end %>

Der "Benutzer" -Teil der Hilfsmethode wird gemäß dem "Benutzer" des Modellnamens beschrieben.

Gezwungen, zur Anmeldeseite zu gehen

app/controllers/welcome_controller.rb


class WelcomeController < ApplicationController
  before_action :authenticate_user!
  def index
  end
end

Sitzung und Passwort Sitzung Eine Reihe von Zugriffen von der Anmeldung bis zur Abmeldung

So überprüfen Sie die Sitzung </ b> Für Google Chrome

  1. Rufen Sie das Menü "Einstellungen" auf
  2. "Erweitert" - "Inhaltseinstellungen" - "Coookies" - "Alle Cookies und Site-Daten"
    1. Suchen Sie nach dem Domainnamen einer Webanwendung

So überprüfen Sie Ihr verschlüsseltes Passwort

  user = User.find(2)
  user.email
  user.encrypted_password

Recommended Posts