set the user id headers before and after a request

... so that it will be set on both login and logout requests.

test plan:
 * Open network inspector and login. Verify that on the login request,
   X-Canvas-User-Id is set.
 * Log out.
 * Verify that on the logout request, X-Canvas-User-Id is still set.

Change-Id: Ib849185cc3e289ae288e1ed2fe0ebae48f26de97
Reviewed-on: https://gerrit.instructure.com/12221
Tested-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
This commit is contained in:
Zach Wily 2012-07-13 08:34:33 -06:00
parent f5718cb1ec
commit 23f18b769f
2 changed files with 7 additions and 2 deletions

View File

@ -41,6 +41,9 @@ class ApplicationController < ActionController::Base
after_filter :log_page_view
after_filter :discard_flash_if_xhr
after_filter :cache_buster
# Yes, we're calling this before and after so that we get the user id logged
# on events that log someone in and log someone out.
after_filter :set_user_id_header
before_filter :fix_xhr_requests
before_filter :init_body_classes
before_filter :set_ua_header
@ -116,8 +119,8 @@ class ApplicationController < ActionController::Base
end
def set_user_id_header
headers['X-Canvas-User-Id'] = @current_user.global_id.to_s if @current_user
headers['X-Canvas-Real-User-Id'] = @real_current_user.global_id.to_s if @real_current_user
headers['X-Canvas-User-Id'] ||= @current_user.global_id.to_s if @current_user
headers['X-Canvas-Real-User-Id'] ||= @real_current_user.global_id.to_s if @real_current_user
end
# make things requested from jQuery go to the "format.js" part of the "respond_to do |format|" block

View File

@ -362,6 +362,8 @@ class PseudonymSessionsController < ApplicationController
end
def successful_login(user, pseudonym)
@current_user = user
@current_pseudonym = pseudonym
respond_to do |format|
flash[:notice] = t 'notices.login_success', "Login successful." unless flash[:error]
if session[:oauth2]