devise gemで管理者ロールを作成する方法と、管理者としてログインしている場合にページを作成する方法を知りたい場合は、アクセスすることができます。そうしないと404ページが表示されます。Devise管理者ロールを追加する
-5
A
答えて
1
これを行う単純な方法がありますが、私はあなたと共有します。
あなたの工夫ユーザにブール値を追加し、移行を作成します。
rails g migration AddsAdminColumnToUsers
def change
add_column :users, :admin, :boolean, default: false, null: false
end
これが戻ってあなたのモデルにマッピングしてuser.admin?
メソッドを作成します。
ページアクセスの場合、私は以上のメソッドを作成しますが、コントローラーの関心事はAuthenticateAdmin
となります。
authenticate_admin!
という名前のメソッドを作成します。
def authenticate_admin!
authenticate_user!
redirect_to :somewhere, status: :forbidden unless current_user.admin?
end
P.S. ApplicationController
内の場合も、あなたのコントローラやアクションのそれぞれについて、あなたは制限する必要がある、これはprotected
方法
であることを確認してください。
before_action :authenticate_admin!, only: [:action] # `only` part if applicable
あなたはここにforbidden
を送ることにしたいです。
理由はこの質問の範囲を超えていますが、本質的にはNot Found
は何かを行う権限がありません。
HTTPステータスコードにはUnauthenticated
がありますが、この場合は認証され、そのページにはアクセスが禁止されています(権限のないユーザー)。
このケースでは、HTTPステータス403が禁止されています。
関連する問題
- 1. 管理者ロール(私のソリューション)を追加する方法
- 2. RORのDeviseで管理者からユーザを追加
- 3. Devise - 管理者が登録アカウントを追加できるようにする
- 4. 管理者がDeviseでユーザーを追加できるようにする
- 5. Devise管理者に制限する
- 6. ファイル構成 - Devise管理者と管理者の名前空間
- 7. .netコアフレームワークで管理者ロールを持つスーパーユーザーを追加しています
- 8. グループポリシーによる管理者の追加
- 9. アクティブな管理者にページを追加
- 10. ASP.NETロール管理
- 11. 管理グループとアイテムをsymfonyのソナタ管理者に追加します
- 12. ユーザと管理者はDeviseでログアウトし、RSPECでテストする
- 13. MongoDBの管理者ロールを追加する例外:ログインに失敗しました
- 14. howto django管理者ページのインラインにカスタムフォームを追加する
- 15. datetimefieldを管理者チェンジリストのsearch_fieldsに追加する方法
- 16. ウェブページにミニ管理者を追加する
- 17. 管理者に「製品を追加する」ときの検証
- 18. django:管理者へのホームリンクを追加するには
- 19. jQueryファイルをDjango管理者に追加する
- 20. Django管理者にモデル以外のフォームを追加する
- 21. Djangoのインライン管理者にサブセクションを追加する方法は?
- 22. Django管理者の「追加」機能を削除する
- 23. WordPress管理者にjQueryスクリプトを追加する
- 24. drupal 6:管理者のためのページを追加する
- 25. django、管理者の追加/変更フォームを拡張する
- 26. Webアプリケーションに管理者ユーザーを追加するasp.net
- 27. Wordpressの管理者メールにユーザーメタ値を追加する
- 28. 管理者権限を持たないドメイン管理者としてWCFにnetshポートを追加する
- 29. Deviseによるセキュアな管理者登録
- 30. アクティブな管理者:レポートに追加するエントリ
これは、コード例で行ったすべての試みを提供するのに役立ちます。これに対する解決策は、実際には非常に単純です(解答で解明された人のように)。しかし、コードの欠如や試行のデモンストレーションは、投票の下につながります。 – MageeWorld
この質問は、コードの欠如ではなく、例。 – fbelanger
[Devise on Railsベータ3で管理者を作成する](https://stackoverflow.com/questions/2708417/creating-an-admin-user-in-devise-on-rails-beta-3)の可能な複製 –