Good stuff!   But you might want to consider "memoizing" this so you don't access the database every time you refer to current_user...
@current_user ||= User.find(session... etc etc