как настроить maven для использования учетных данных - PullRequest
1 голос
/ 10 сентября 2011

У меня странная ситуация: я использую сеть WIFI, предоставленную гостиницей, в которой я живу, и мне нужно пройти аутентификацию с пользователем и паролем на веб-странице (если я захожу на аутентификация перенаправляет меня на страницу входа).

Я могу без проблем просматривать веб-страницы, как вы можете видеть. Но Maven дает мне это сообщение:

[WARNING] The POM for javax.inject:javax.inject:jar:1 is invalid, transitive dependencies 
(if any) will not be available: 1 problem was encountered while building the effective model
[FATAL] Non-parseable POM /home/user/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.pom: entity reference name can not contain character =' (position: TEXT seen ...pitality.swisscom.com/index.php/login/pdalogin?pda=1&incompatible=... @4:134)  @ line 4, column 134

Глядя на фрагмент

pitality.swisscom.com/index.php/login/pdalogin?pda=1&incompatible=

похоже, что Maven не использует то же аутентифицированное соединение.

Знаете ли вы какое-либо решение для этого?

Большое спасибо!

РЕДАКТИРОВАТЬ: содержимое файла POM, который не найден Maven это

    <html>
      <head>
        <noscript>
          <META HTTP-EQUIV="refresh" content="5;URL=https://index06.hospitality.swisscom.com/index.php/login/pdalogin?pda=1&incompatible=1&NASID=mi-76-134&LgnURL=https%3A%2F%2Fclblgn.sceur.ch%3A8090%2Fgoform%2FHtmlLoginRequest&NASIP=clblgn.sceur.ch&CallerID=00-22-FB-4F-D9-F6&CustIP=192.168.48.170&VLAN=&Location=Hotspot&Port=8090">
        </noscript>
        <script type="text/javascript">
          function setCookieAndReload()
          {
            document.cookie = "human=1" + ";path=/;domain=swisscom.com";
            window.location = "https://index06.hospitality.swisscom.com/login?NASID=mi-76-134&LgnURL=https%3A%2F%2Fclblgn.sceur.ch%3A8090%2Fgoform%2FHtmlLoginRequest&NASIP=clblgn.sceur.ch&CallerID=00-22-FB-4F-D9-F6&CustIP=192.168.48.170&VLAN=&Location=Hotspot&Port=8090&tested=1";
            return;
          }
        </script>
        <script type="text/javascript" src="https://index06.hospitality.swisscom.com/login?NASID=mi-76-134&LgnURL=https%3A%2F%2Fclblgn.sceur.ch%3A8090%2Fgoform%2FHtmlLoginRequest&NASIP=clblgn.sceur.ch&CallerID=00-22-FB-4F-D9-F6&CustIP=192.168.48.170&VLAN=&Location=Hotspot&Port=8090&getjs=1"></script>
      </head>
      <body>
        <p>
          Checking browser compatibility.<br>
          You will be redirected shortly or click <a href="https://index06.hospitality.swisscom.com/index.php/login/pdalogin?pda=1&incompatible=1&NASID=mi-76-134&LgnURL=https%3A%2F%2Fclblgn.sceur.ch%3A8090%2Fgoform%2FHtmlLoginRequest&NASIP=clblgn.sceur.ch&CallerID=00-22-FB-4F-D9-F6&CustIP=192.168.48.170&VLAN=&Location=Hotspot&Port=8090">here</a>.
        </p>
      </body>
       <!-- 
    <?xml version='1.0' encoding='UTF-8'?>
    <WISPAccessGatewayParam xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'   xsi:noNamespaceSchemaLocation='WISPAccessGatewayParam.xsd'>
        <Redirect>
            <MessageType>100</MessageType>
            <ResponseCode>0</ResponseCode>
            <AccessProcedure>1.0</AccessProcedure>
            <LocationName>Hotspot</LocationName>
            <AccessLocation>BackEnd Remote Login</AccessLocation>
            <LoginURL>https://clblgn.sceur.ch:8090/goform/HtmliPassLoginRequest</LoginURL>
            <AbortLoginURL>http://clblgn.sceur.ch:80/goform/HtmliPassLogout</AbortLoginURL>
        </Redirect>
    </WISPAccessGatewayParam>
     --> 

    </html>

Ответы [ 2 ]

2 голосов
/ 10 сентября 2011

1: пытались ли вы использовать Maven до проверки подлинности вручную?Если да, то, возможно, у вас есть поврежденные файлы в вашем локальном хранилище, и Maven не достаточно умен, чтобы заменить их.Я бы предложил сделать первый шаг: удалить локальный репозиторий (или переместить его в другое место) и попытаться восстановить после проверки подлинности вручную.

2: есть ли у вас VPN и компьютер в вашей корпоративной сети?сеть, где вы можете установить программное обеспечение?Если да, то, возможно, стоит установить сервер репозитория ( Nexus прост в настройке и поставляется в версии с открытым исходным кодом) на этом компьютере.Горячие точки обычно пропускают VPN-трафик без ограничений.

3: вам удобно настраивать туннель SSH?Если да, то вы можете использовать машину, например Amazon EC2, для размещения репозитория Nexus, и использовать SSH для запуска localhost: 8080 к этому хосту.Это также потребует внесения изменений в ваш файл settings.xml.

4: вы точно знаете, что делает точка доступа отеля к вашим HTTP-запросам? действительно маловероятно, что они используют прокси-сервер, который изменяет запрос / ответ, но если они есть, и вы знаете, что они делают, Maven позволяет вам указывать заголовки HTTP в settings.xml.См. http://maven.apache.org/guides/mini/guide-http-settings.html для получения дополнительной информации.

Лично я думаю, что # 1 решит вашу проблему.Просто убедитесь, что вы выполняете аутентификацию вручную перед выполнением сборок (и убедитесь, что вы проходите повторную аутентификацию на регулярной основе).

0 голосов
/ 12 сентября 2011

Похоже, что доступ в Интернет в вашем отеле ограничен, и доступ к нему возможен только через аутентифицированные сеансы. Пока вы работаете с провайдером, чтобы исправить это (или попробуйте предложенные обходные пути), вы можете попробовать построить его в другом месте (возможно, в своем офисе), где это не проблема, и настроить maven для автономной сборки (mvn dependency:go-offline). Как только это будет сделано, вам не потребуется maven для подключения к Интернету, если вы не обновите версии зависимостей.

...