digifacture

Railsとかデジモノとか色々勉強した事とか作った事とか気になった事とか

RailsとSafariのsessionの不具合?

safariのsessionが勝手に切れてしまうバグがある?

 

Rails3にてユーザー認証を実装した。

アクションsigninでは、ユーザー認証後にはmypageにリダイレクトするように実装する。

しかしURLに/signinを入力するとsessionが失効されて再度ユーザー認証を求めるようになってしまう。

これを入力するのではなくコピペやブラウザの戻るボタンだとsessionは失効されずにmypageが表示される。

なぜかwebインスペクタを起動してると現象は発生しない。

FirefoxChromeでは現象が発生しない。

Safari内の履歴やキャッシュの扱いの問題のような気がするけど、原因が特定できずにイマイチすっきりしないのでメモ。

 

 

def signin
  if session[:user_id] == nil
    if request.post?
      if User.authenticate(params[:username], params[:password])
        session[:user_id] = User.authenticate(params[:username], params[:password]).id
      redirect_to :action => session[:intended_action], :controller => session[:intended_controller]
      else
        render :text => "error"
      end
    end
  else
    redirect_to "/mypage"
  end
end

 

でもまあなんやかんやでユーザー認証みたいなものは作れた

https://shrouded-falls-3859.herokuapp.com/foods

これでやっとウェブサービスに必要な最低限の道具を手にしたような気持ち。

DEVICEとかCANCANやtwitter authを使えばもっとしっかりと作れるかな?

次は画像のアップロードとかグラフィカルな実装をがんばう 眠 (¦3[ スヤァ.. ]