Требуется аутентификация - PullRequest
2 голосов
/ 25 апреля 2011

Я сталкиваюсь с проблемой с экраном входа в систему в netbeans rcp.

серверная часть: glassfish v 3.1, ejb и HessianServlet с базовым идентификатором в web.xml

клиентская часть: netebeans rcp 7.0 и серверная Api.

на сервере используется настраиваемая область, и клиент предоставляет имя пользователя и пароль после заставки, в настраиваемой панели входа в систему поверх DialogDescriptor

код панели входа в систему:

public class Installer extends ModuleInstall { 
... 
    @Override 
    public void restored() { 


    DialogDescriptor loginDialog = new DialogDescriptor(panel, "Login Dialog"); 
    loginDialog.setModal(true); 


    loginDialog.setClosingOptions(new Object[]{}); 
    loginDialog.setOptions(new Object[]{}); 

    loginDialog.setButtonListener(al); 

    loginDialog.addPropertyChangeListener(new PropertyChangeListener() { 

        @Override 
        public void propertyChange(PropertyChangeEvent evt) { 
            if (NotifyDescriptor.CLOSED_OPTION.equals(evt.getNewValue())) { 
                LifecycleManager.getDefault().exit(); 
            } 
        } 
    }); 

    DialogDisplayer.getDefault().notifyLater(loginDialog);     
... 
} 

эта панель входа в систему просто вызывает один защищенный метод на стороне сервера и, если исключение не произошло, и Возвращаемая строка [] содержит имя пользователя и фамилию, затем экран входа в систему и rcp показывается клиенту.

на панели входа в систему:

  HessianProxyFactory proxy= new HessianProxyFactory(); 
  proxy.setUser(user); 
  proxy.setPassword(password); 

 LoginObject loginObject = xxx.create(LoginObject .class, "<a href="http://localhost:port/trali/vali">http://localhost:port/trali/vali"); 

 String[] value=loginObject .isAppUser("login name"); 


if(value==null){ 

//message login failed 

}else { 

//dispose login screen and show main app 

} 

все в порядке, пока клиент не предоставит правильное имя пользователя и пароль, но если вход в систему не удастся сервер Netbeans RCP всплывающие окна аутентификации требуется диалог, как в веб-браузере основной диалог авторизации.

dialog

Как отключить этот диалог?

спасибо заранее!

Ответы [ 3 ]

2 голосов
/ 29 мая 2014

Инструменты> Параметры> Общие настройки прокси: Нет прокси [OK]

Это остановит всплывающее окно «Аутентификация прокси (FTP / SFTP)».Или установите настройки прокси-сервера на то, что работает.

1 голос
/ 25 апреля 2011

Вы можете переопределить это диалоговое окно с помощью метода Authenticator.setDefault (Authenticator) .

Если вы попытаетесь отключить аутентификацию, переопределив аутентификатор по умолчанию, вам потребуетсяэто учитывается в вашем клиентском коде ... поскольку вы можете получить поток "несанкционированных" ответов.

0 голосов
/ 31 декабря 2016

отключите настройку прокси-сервера, выбрав tools-> option-> general-> no proxy

...