如何使用基本身份验证访问另一个应用程序

时间:2019-06-03 10:44:14

标签: ruby-on-rails ajax basic-authentication

我有一个Rails应用程序,当我们单击应用程序中的链接时,我想打开新选项卡,并通过JQuery和AJAX通过基本身份验证加载另一个应用程序。新的应用程序已在其他服务器上公开。

我的宝石文件如下。

source 'https://rubygems.org'

ruby "2.3.3"

gem 'couchrest', '~> 1.2', '>= 1.2.1'
gem 'jquery-rails', '~> 4.0.5'
gem 'jquery-ui-rails', '~> 5.0.5'
gem 'bootstrap-sass'
gem 'sass-rails', '~> 5.0.6'
gem 'sprockets', '~> 3.6.3'
gem 'puma', '~> 3.4'
gem 'rails', '4.2.4'
gem 'couchrest_model', '~> 2.0.4'
gem 'tzinfo-data', '~> 1.2016.6', platforms: [:mingw, :mswin, :x64_mingw]
gem 'uglifier', '>= 1.3.0'
gem 'newrelic_rpm'
gem 'rake', '< 11.0'
gem 'pg', '~> 0.19.0'
#gem 'pg', '~> 0.18.4'
gem 'sendgrid-ruby', '~> 0.0.3'
gem 'twilio-ruby', '~> 4.2.1'
gem 'sassc'
gem 'open_uri_redirections'

group :development, :test, :ci do
gem 'byebug', '~> 8.2.1'
gem 'dotenv-rails', '~> 2.0.2'
gem 'rspec-rails', '~> 3.3.2'
gem 'timecop', '~> 0.8.0'
end

group :development do
gem 'web-console', '~> 2.0'
gem 'spring', '~> 1.5.0'
end

group :production do
  gem 'rails_12factor', '~> 0.0.3'
end

我的JavaScript文件片段。

$.ajax
    ({
          type: "POST",
          url: "external_URL",
          beforeSend : function(req) {
                req.setRequestHeader('Authorization', 'Basic ' +             
  Base64.encode(unm + ':' + pwd));
          },
          success: function (){
            alert('Thanks for your comment!'); 
          },
          error: function (jqXhr, textStatus, errorThrown){
          debugger
            alert('error!'); 
          }
    });

我遇到一些错误,

CORS策略已阻止从源“ null”以“ external_URL”访问XMLHttpRequest:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。

我通过启用/禁用CORS插件进行了相同的测试。

0 个答案:

没有答案