Log In
Log In
Places
All Projects
Status Monitor
Collapse sidebar
obs:server:fedora:2.6:testing
obs-server
obs-server-2.6.6-0015-webui-Also-set-User.curre...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File obs-server-2.6.6-0015-webui-Also-set-User.current-in-proxy_auth_mode.patch of Package obs-server
From 125f515235bfbf3397aa10f6648c9317bba634de Mon Sep 17 00:00:00 2001 From: Henne Vogelsang <hvogel@opensuse.org> Date: Thu, 22 Oct 2015 13:49:05 +0200 Subject: [PATCH 15/15] [webui] Also set User.current in proxy_auth_mode --- src/api/app/controllers/webui/user_controller.rb | 2 -- src/api/app/controllers/webui/webui_controller.rb | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/api/app/controllers/webui/user_controller.rb b/src/api/app/controllers/webui/user_controller.rb index 15f8d24..cd5a3d1 100644 --- a/src/api/app/controllers/webui/user_controller.rb +++ b/src/api/app/controllers/webui/user_controller.rb @@ -6,8 +6,6 @@ class Webui::UserController < Webui::WebuiController include Webui::WebuiHelper include Webui::NotificationSettings - before_filter :check_user, :only => [:edit, :save, :change_password, :register, :delete, :confirm, - :lock, :admin, :login, :notifications, :update_notifications, :show] before_filter :require_login, :only => [:edit, :save, :notifications, :update_notifications] before_filter :overwrite_user, :only => [:show, :edit, :requests, :list_my] before_filter :require_admin, :only => [:edit, :delete, :lock, :confirm, :admin] diff --git a/src/api/app/controllers/webui/webui_controller.rb b/src/api/app/controllers/webui/webui_controller.rb index c6af378..9c232f2 100644 --- a/src/api/app/controllers/webui/webui_controller.rb +++ b/src/api/app/controllers/webui/webui_controller.rb @@ -232,12 +232,20 @@ class Webui::WebuiController < ActionController::Base def check_user check_spiders - User.current = nil # reset old users hanging around - if session[:login] - User.current = User.find_by_login(session[:login]) + user_login = nil # reset old users hanging around + mode = CONFIG['proxy_auth_mode'] || :off + if mode == :on + logger.debug "Authenticating with iChain mode: #{mode}" + user_login = request.env['HTTP_X_USERNAME'] + elsif mode == :simulate + user_login = CONFIG['proxy_auth_test_user'] || CONFIG['proxy_test_user'] + else + if session[:login] + user_login = session[:login] + end end # TODO: rebase on application_controller and use load_nobdy - User.current ||= User.find_by_login('_nobody_') + User.current = user_login ? User.find_by_login(user_login) : User.find_by_login('_nobody_') end def map_to_workers(arch) -- 2.4.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Log In
Places
Places
All Projects
Status Monitor