2011-09-17 10 views
0

CREATEおよびUPDATEの宣言的な認証でエラーが発生する。それは、ユーザを示していないエラーで何とかとして認証されていると何とかセッションが迷子にされている理由、私たちは確認されていません。Rails宣言による認証が失敗する

`認証:: CartypesController番号の更新にNotAuthorized

#のアップデートが見つかりませ一致ルールません(roles [:guest]、特権[:update]、コンテキスト:cartypes)。 `

役割「バックオフィス」はauthentication_controller.rbに権利を持っていますstackoverflowのでhas_permission_on :cartypes, :to => [:index, :show, :new, :create, :edit, :update, :destroy, :delete]

同様の問題があります:Link to Stackoverflow Question

私たちは、レールに新しく追加されたこの第1の時間を試してみました(GET操作)

何か助けていただければ幸いです。

EDIT:「宣言的承認」のドキュメントがモデルセキュリティについて話し合ったときに分かりませんでしたので、これを解決できました。非常に慎重に読んでいる場合は、モデルセキュリティーを使用するときに## Heading ## Authorization.current_userを要求のユーザー(application_controller.rb内)に設定する必要があります。レールn00bsの場合、それはあまり明確ではないかもしれません...

+0

ところで:私たちは、あなたがあなたのコメントからの質問自体に情報を追加することができ、レール3.0.9 – fisco

+0

を使うのか?また、次の情報を追加することもできます:追加した宝石(宣言的な認証のために)?ルートファイルを変更します。 – mliebelt

答えて

0

あなたの要求にauthenticity_tokenパラメータを含めますか?デフォルトでは、RailsはPUT、POST、DELETEを強制して、クロスサイトリクエスト偽造を防ぐためにこのトークンを必要とします。

これを指定しないと、Railsは自動的にセッションをリセットし、CSRFの攻撃を防ぎます。

Understanding the Rails Authenticity Tokenをご覧ください。ファイサルはそれをとてもうまく説明しました。

http://guides.rubyonrails.org/security.html

+0

これは自動的に生成する必要があります。 – mliebelt

+1

はいフォームタグを使用していても、時にはそれを使用しない場合もあります。 – datalost

関連する問題