1

情報とテキストを掲載できる自分用のRailsアプリ/サイトを作成しようとしています。他のユーザーを用意せずに、管理者ユーザー (自分自身) を作成するにはどうすればよいか疑問に思っていました。基本的に複数のユーザーを必要とすることはなく、他のすべてのモデル データはこの 1 人の (管理者) ユーザーに属します。

私が考えているオプション:

  1. エントリが 1 つだけのユーザー モデルを用意します。ユーザーがログインしているかどうかを確認し、管理ユーティリティを表示します。
  2. can-can/devise のような宝石を使用しますか? それはやり過ぎですか?
  3. 管理タスクを実行できる非常にあいまいな URL を持っています (不自由に聞こえますが、最も簡単です!)
4

6 に答える 6

3

基本認証はあなたのために働くでしょうか? これがそれにキャストされたレールです...

http://railscasts.com/episodes/82-http-basic-authentication

于 2013-09-06T21:01:36.573 に答える
2

「3.」最も安全なオプションではありません。「1.」余分な時間がかかる場合があります (Michael Hartl のチュートリアルでいくつかのアイデアが得られるかもしれません)。

「2.」少しやり過ぎです。サインアップするためのルートを定義せず、ログインするためのリンクをビューに置かない限り、CanCan は必要ありません。Devise だけで十分です。

于 2013-09-06T20:02:26.993 に答える
0

最初のオプションはいいように思えます...しかし、#1 での認証がまだ必要であり、他のユーザーに将来の機能を追加したい場合は、CanCan + Devise で問題ないため、2 番目のオプションを使用します。

また、それらは非常にシンプルなので、それほど苦労することはないと思います

于 2013-09-06T20:01:50.923 に答える
0

ある種の承認が必要になります。

3 つのオプションをお勧めします。

  1. 自分で構築する
  2. devise を使用 <- my goto
  3. 魔術を使う

ユーザー モデルが作成されたら、admin という名前の移行を生成し、ブール値として設定します。

次に、application.html.erb ファイルで、yeild 呼び出しの前に、if ステートメントを作成します。

<% if current_user.admin? %>
<%= yield %>
<% else %>
You have no access
<% end %>
于 2013-09-06T21:57:34.977 に答える
0

https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role

これはそれを段階的に説明していると思います!幸運を

于 2013-09-06T22:00:23.480 に答える
0

私は最初のオプションを選びます。このようにして、多くのコードを作成することなくセキュリティ レイヤーを作成できます。

于 2013-09-06T20:00:16.410 に答える