Basic認証を付けるやり方で広く知られている「http_basic_authenticate_with」ですが、これはアクション単位でしかBasic認証をかけられません。。

特定のページのみ、つまり /contents/1 のページだけにかけたい場合には、def show の中に書いてもエラーになるんですね。
探したら結構簡単に見つかったのですが、
http://d.hatena.ne.jp/hogehoge_yeah/20120713/1342170426
を参考にして実装しました!

def show
if params[:id] == "1"
authenticate_or_request_with_http_basic('Enter Password') do |u, pw|
u == "user" && pw == "password"
end
end

end

こう書くことによって特定のidのページだけBasic認証をかけることができました!
もちろん、パスワードの管理はちゃんとやりましょう!