Web アプリケーション内の認証は重要な側面であり、軽視することはできません。 セキュリティ、保守性、使いやすさなど、考慮する必要がある側面は数多くあります。 Ruby on Rails Cancan、Auth-logic、Devise などの gem の形式でさまざまな認証フレームワークを提供します。Ruby on Rails アプリケーションでは、これらの認証フレームワークを使用せずに認証を提供できますが、認証方法に関する重大な要件がない限り、これはお勧めできません。セキュリティと暗号化を扱うのはあなたです。 これらのフレームワークの一部は多くの人に使用されており、堅牢であることが証明されています。
Devise は、Rails 開発者の間で最も人気のある認証フレームワークです。 Devise は最も動的な認証フレームワークの XNUMX つであり、時間がかからず、数分以内にセットアップできます。 セットアップが完了すると、デフォルトで提供される UI の側面を簡単に変更したり、ブートストラップを使用するように変更したりできます。
デバイスをセットアップするには何が必要ですか?
- アプリに Device gem を追加する Gemfile 宝石「デバイス」 ' 実行する 'バンドルインストール' あなたの端末で
- 実行してデバイスをインストールします 'レールによるデバイスの生成: インストール'
必要な構成設定のいくつかは次のとおりです。
- config/environments/development.rb:
デフォルトの URL オプションを設定する
'Config.action_mailer.default_url_options = { ホスト: 'localhost'、ポート: 3000 } '
- config / routers.rb
ルート URL を「」のように設定します。 ルートから: 'home#index'。
- app/views/layouts/application.html.erb
フラッシュメッセージを設定する
このように <%= yield %> の前に
<%= 注意 %>
<%= アラート %>
これにより、基本的に成功と失敗のメッセージが表示されます。
3.「」を追加します。レールとデバイス: ビュー' ビューをさらにカスタマイズします。
4.「」を実行してモデルを追加します。レール g デバイス ユーザー'
5.「」を実行しますrake db: 移行'、このコマンドはユーザー テーブルをデータベースに移行します。
6. ログアウトリンクを追加します。 「app/views/home/index.html.erb」.
7.「」を追加します。before_action :authenticate_user!' 「app/controllers/application_controller.rb」。 これは、ユーザーがアプリに入る前にまずサインインする必要があることを意味します。
8. サーバーを再起動すれば準備完了です。
ここでは、ビューにブートストラップを追加する手順をいくつか示します。
- 追加 ' gem「twitter-bootstrap-rails」 ' gem ファイルに追加してから実行します 'バンドルインストール'。
- 実行 'Rails g ブートストラップ: 静的インストール'、これは基本的に静的テーマをインストールします。
- 実行 'Rails g ブートストラップ: レイアウト アプリケーション' ブートストラップをアプリケーション レイアウトに追加します。 このステップでは、application.html.erb ファイルを上書きするかどうかを尋ねられます。「」と入力します。Y」と入力してEnterを押します。 これにより、application.html.erb が変更されます。
4.「」を追加します。 gem 'devise-bootstrap-views' ' gem ファイルに追加して実行します 'バンドルインストール'。
5. ファイル内で、 app/assets/stylesheets/application.css 加えます
'*= device_bootstrap_views が必要です' 。
6.「」を実行しますレール g デバイスビュー: ロケール en' これにより生成されます config/locales/devise.views.en.yml。
7.「」を実行しますRails G Device ビュー:bootstrap_templates' このジェネレーターはすべてのビューをアプリケーションにコピーし、必要に応じてファイルを変更できます。
8. サーバーを再起動すると、ブートストラップの変更が確認できます。
注: 上記の例では、rails gem の使用について説明しました。 ただし、Rails アプリケーション内にすべての UI 関連コンポーネントをインストールするには bower を使用します。 すべての UI 関連の依存関係に対してレール内で bower を使用する方法については、別のトピックを公開する予定です。
私たちの投稿を読んでください」Rails での動作駆動型の開発とテスト」では、RSpec、Capybara、Cucumber などの Ruby on Rails テスト フレームワークを使用してテスト駆動開発 (TDD) を可能にする方法を学びます。