2

私は特別なURLを持っているので、少数の人だけがアクセスできるようにしたいと思います。app.ymlに配列として保存されているスーパーユーザーのリストがあります。この配列をroutes.rbファイルの特定のルートの:requirementsセクションで使用して、これらのスーパーユーザーのみがこのルートにアクセスできるようにするにはどうすればよいですか?どうもありがとう。

4

2 に答える 2

3

いいえ、できません。:requirementsルートパラメータのみに関連しています。

私の意見では、これは良いことです。コントローラに認証ロジックを含めることはよく知られている規則です。

于 2008-12-10T09:57:23.117 に答える
3

ペドロが言ったように..認証ロジックはコントローラーコードにある必要があります。
before_filters を見てください。ここでは、コントローラー内の (すべてまたは指定された) アクションが実行される前に呼び出されるメソッドを指定します。このようなメソッドを使用して、アクションの実行を拒否できます。ここでFilter Chain Halting という名前のセクションを探します

:requirementsは、ルートが一致する URL の一部の制約を指定するためのものです。通常、正規表現は次のように指定します。

map.geocode 'geocode/:postalcode', :controller => 'geocode',
              :action => 'show', :requirements => { :postalcode => /\d{5}(-\d{4})?/ }
于 2008-12-10T10:20:09.297 に答える