在Vagrant中部署的Web应用程序在浏览器中工作,但身份验证在REST客户端

时间:2017-06-19 21:02:14

标签: java spring rest vagrant weblogic

我有一个Web应用程序,可以在浏览器和我的java applet中本地工作,它可以作为REST API访问它。

当我在流浪汉VM中部署相同的应用程序时,我可以通过浏览器访问它,在调试模式下运行并使用maven插件进行远程部署;但我无法使用我的REST客户端进行身份验证。

我收到以下回复:

  

请求需要用户身份验证。响应必须包括一个   包含挑战的WWW-Authenticate头字段(第14.46节)   适用于所请求的资源。客户可以重复   请求具有合适的授权标头字段(第14.8节)。如果   请求已包含授权凭据,然后是401   回复表明授权已被拒绝   证书。如果401响应包含与之相同的挑战   先前的响应,用户代理已经尝试过   验证至少一次,然后用户应该出现   响应中给出的实体,因为该实体可以包含   相关诊断信息。 HTTP访问身份验证是   在第11节中解释。

这是我的流浪文件:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :forwarded_port, guest: 22, host: 2223, id: 'ssh'
  config.vm.box = "weblogic-box"

  config.vm.box_check_update = false
  config.vbguest.auto_update = true

  # workaround the vagrant 1.8.5 bug
  config.ssh.insert_key = false

  # change memory size
  config.vm.provider "virtualbox" do |v|
    v.memory = 4000
    v.name = "vagrant-weblogic"
    v.customize ["modifyvm", :id, "--cableconnected1", "on"]
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

  # Oracle port forwarding
  config.vm.network "forwarded_port", guest: 1521, host: 1522
  config.vm.network "forwarded_port", guest: 7001, host: 7001
  config.vm.network "forwarded_port", guest: 7002, host: 7002
  config.vm.network "forwarded_port", guest: 4000, host: 4000

  #use $ ssh -X -p 2222 to run graphical applications
  config.ssh.forward_x11 = true

  # Provision everything on the first run
  config.vm.provision "shell", path: "scripts/install.sh"

end

我的weblogic配置:

import os

readTemplate(os.environ["WL_HOME"] + '/common/templates/wls/wls.jar')

cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort', 7001)

cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('welcome1')

setOption('OverwriteDomain', 'true')

writeDomain(os.environ["MW_HOME"] + '/user_projects/domains/my-domain')
closeTemplate()

exit()

我缺少任何Vagrant / Weblogic配置吗?

1 个答案:

答案 0 :(得分:0)

刚刚发现它,问题在于我在执行自定义身份验证时执行基本身份验证。只需按照此link中的说明操作,并在config.xml文件中添加以下配置。

</security-configuration>
.
.
.
     <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
</security-configuration>