- @user = User.find(session[:user], :conditions => {:status => ["active", "confirmed", "suspended"]})
-
- if @user.status == "suspended"
- session[:user] = nil
+ @user = User.where(:id => session[:user]).where("status IN ('active', 'confirmed', 'suspended')").first
+
+ if @user.display_name != cookies["_osm_username"]
+ logger.info "Session user '#{@user.display_name}' does not match cookie user '#{cookies['_osm_username']}'"
+ reset_session
+ @user = nil
+ elsif @user.status == "suspended"
+ session.delete(:user)