人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

#GWアドベントカレンダー 「1つサービスを作る」の6日目記事 アクセスコントロール対応

以下の GWアドベントカレンダー 「1つサービスを作る」の6日目記事です。

gw-advent.9wick.com

昨日作った更新URLに、アクセスコントロールを追加します。

アクセスコントロール

ドキュメントを参照しながらいきます。

app/controllers/users_controller.rb を編集し先頭に1行追加します。

  before_action :authenticate_user!, only: [:edit, :update]

authenticate_user!before_actionに入れることで認証されたユーザーのみがアクセスできるようになります。
editとupdateが対象で、showは誰でもアクセスさせたいのでonly: [:edit, :update]とします。

動作確認

http://localhost:3000/users/1/edit にアクセスしてDeveloper toolを起動しApplicationのCookiesから認証されたCookieを削除します。

f:id:hideaki_kawahara:20200505172014p:plain

画面をリロードすると、サーバーログではUnauthorizedとなっていることが確認できます。

f:id:hideaki_kawahara:20200505172453p:plain