Аутентификация загрузки апплета
У меня есть веб-сайт, работающий на IIS 7.5 со встроенной проверкой подлинности Windows. В папке /Content
(с анонимным доступом) находится апплет - MyApplet.jar
. При использовании этого апплета Java показывает всплывающее окно" требуется аутентификация "(и это всплывающее окно не запоминает мой пароль, даже если я поставил флажок" запомнить").
Есть ли способ удалить это окно?
Это консоль Java перед загрузкой апплета:
network: Cache entry not found [url: http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration, version: null]
network: Connecting http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration with proxy=DIRECT
network: Connecting http://192.168.10.136:80/ with proxy=DIRECT
network: Connecting http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration with cookie "JCP-store=HDImageStore; JCP-key=Inf_WOPass"
network: Firewall authentication: site=/192.168.10.136:80, protocol=http, prompt=, scheme=ntlm
2 ответа:
Похоже, что ваш апплет выполняет синтаксический анализ XML. Если это так, то происходит то, что Java ищет синтаксический анализатор XML (с getClass ().методу getresource(...)) и как путь вашего апплета, он будет выполнять HTTP-запрос к вашему серверу.
Чтобы предотвратить это, вы можете определить синтаксический анализатор XML в методе init вашего апплета с помощью
Class.forName("com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
Начиная с Java6u10 у вас также есть возможность удалить путь вашего апплета из classpath (но не апплет) с помощью
<APPLET ...> <PARAM name="codebase_lookup" value="false"> </APPLET>
Энтони
Из моего ограниченного опыта и исследований это больше относится к клиентскому java-мосту, чем к серверному. Вы можете попробовать отключить Плагины следующего поколения на клиентской машине, чтобы посмотреть, поможет ли это.
Windows: Панель управления > Java > вкладка Advanced > плагин Java > (снимите флажок) Включить следующее поколение...
Если это не работает или невозможно изменить параметры клиента, в качестве обходного решения можно исключить апплеты из проверки подлинности. Апплет может вызвать javascript для связи с сервером, который осуществляется браузером, таким образом избегая страшного диалога аутентификации java. Пока ваша бизнес-логика находится на сервере с надлежащей проверкой и аутентификацией (они должны), она не должна создавать угрозу безопасности.