diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d1119914a..452af0ad3 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -170,10 +170,6 @@ class ApplicationController < ActionController::Base # 未授权的捕捉407,弹试用申请弹框 def require_login #6.13 -hs - if request.headers["Authorization"].present? - tip_exception(401, "请登录后再操作!") unless valid_doorkeeper_token? - User.current = User.find_by(id: @doorkeeper_token.resource_owner_id) if @doorkeeper_token.present? - end tip_exception(401, "请登录后再操作") unless User.current.logged? end @@ -252,42 +248,47 @@ class ApplicationController < ActionController::Base #return if params[:controller] == "main" # Find the current user #Rails.logger.info("current_laboratory is #{current_laboratory} domain is #{request.subdomain}") - User.current = find_current_user - uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous")) + if request.headers["Authorization"].present? + tip_exception(401, "请登录后再操作!") unless valid_doorkeeper_token? + User.current = User.find_by(id: @doorkeeper_token.resource_owner_id) if @doorkeeper_token.present? + else + User.current = find_current_user + uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous")) - # 开放课程通过链接访问的用户 - if !User.current.logged? && !params[:chinaoocTimestamp].blank? && !params[:websiteName].blank? && !params[:chinaoocKey].blank? - content = "#{OPENKEY}#{params[:websiteName]}#{params[:chinaoocTimestamp]}" + # 开放课程通过链接访问的用户 + if !User.current.logged? && !params[:chinaoocTimestamp].blank? && !params[:websiteName].blank? && !params[:chinaoocKey].blank? + content = "#{OPENKEY}#{params[:websiteName]}#{params[:chinaoocTimestamp]}" - if Digest::MD5.hexdigest(content) == params[:chinaoocKey] - user = open_class_user - if user - start_user_session(user) - set_autologin_cookie(user) + if Digest::MD5.hexdigest(content) == params[:chinaoocKey] + user = open_class_user + if user + start_user_session(user) + set_autologin_cookie(user) + end + User.current = user end - User.current = user end - end - # if !User.current.logged? && Rails.env.development? - # user = User.find 1 - # User.current = user - # start_user_session(user) - # end + # if !User.current.logged? && Rails.env.development? + # user = User.find 1 + # User.current = user + # start_user_session(user) + # end - # 测试版前端需求 - logger.info("subdomain:#{request.subdomain}") - if request.subdomain != "www" - if params[:debug] == 'teacher' #todo 为了测试,记得讲debug删除 - User.current = User.find 81403 - elsif params[:debug] == 'student' - User.current = User.find 8686 - elsif params[:debug] == 'admin' - logger.info "@@@@@@@@@@@@@@@@@@@@@@ debug mode....." - user = User.find 36480 - User.current = user - cookies.signed[:user_id] = user.id + # 测试版前端需求 + logger.info("subdomain:#{request.subdomain}") + if request.subdomain != "www" + if params[:debug] == 'teacher' #todo 为了测试,记得讲debug删除 + User.current = User.find 81403 + elsif params[:debug] == 'student' + User.current = User.find 8686 + elsif params[:debug] == 'admin' + logger.info "@@@@@@@@@@@@@@@@@@@@@@ debug mode....." + user = User.find 36480 + User.current = user + cookies.signed[:user_id] = user.id + end end end # User.current = User.find 81403