2016-05-03 1 views
0

https://github.com/WASdev/sample.batch.sleepybatchletне в состоянии назвать Maven Java пакет, используя остальное обслуживание развернутого в свободе

Я пытаюсь запустить выше образец GIT. Я смог сконфигурировать и запустить проект сборки муравьиной сборки java во свободе. , но когда дело доходит до проекта maven, , я не смог использовать службу остального для управления заданиями. У меня проблемы с проверкой подлинности пользователя с использованием defaultKeyStore. Я заметил, что в вышеупомянутом проекте maven был файл server.xml, но я не смог создать пароль хранилища ключей. в нем говорится: «не может быть обнаружено время безотказной работы».

в либерти server.xml я использовал для одного пользователя в basicRegistry и безопасность роли, как «batchadmin» для одного пользователя

, какие изменения должны быть сделаны в server.xml внутри проекта пройти сервер аутентификация.

+0

Можете ли вы предоставить более подробную информацию, например. копию вашего server.xml, точные команды, которые вы выполняете, и соответствующие команды ошибок? Сам образец, как вы знаете, не включает в себя какую-либо автоматизацию maven, выполняющую какие-либо тесты или развертывание WAR для Liberty, поэтому я не могу точно сказать, что вы пытаетесь сделать. –

+0

Опять же, я не знаю, как вы настраиваете безопасность, но если вы вносите изменения, вы можете попробовать удалить ** /resources/security/key.jks** и позволить регенерировать сервер при перезапуске. –

+0

\t <имя пользователя = "Bob" пароль = "bobpwd" /> \t \t <имя пользователя = "user1" пароль = "user1pwd" /> \t \t PremStephenIrudayaraj

ответ

0

Для выполнения пакетных операций с сервлетом, когда настроена проверка подлинности на основе ролей, вам необходимо добавить запрос проверки подлинности на сервлет, чтобы он работал под конкретным пользователем, а не с НЕОЖИДАНТИРОВАННЫЙ.

Вы могли бы добавить к этому образцу, как это:

import javax.servlet.annotation.HttpConstraint; 
import javax.servlet.annotation.HttpMethodConstraint; 
import javax.servlet.annotation.ServletSecurity; 
import javax.servlet.annotation.WebServlet; 

// ... 
@ServletSecurity(value = @HttpConstraint(transportGuarantee = ServletSecurity.TransportGuarantee.CONFIDENTIAL), 
    httpMethodConstraints = { @HttpMethodConstraint(value = "POST", emptyRoleSemantic = ServletSecurity.EmptyRoleSemantic.PERMIT), 
           @HttpMethodConstraint(value = "GET", emptyRoleSemantic = ServletSecurity.EmptyRoleSemantic.PERMIT), 
           @HttpMethodConstraint(value = "PUT", emptyRoleSemantic = ServletSecurity.EmptyRoleSemantic.PERMIT) }) 
@WebServlet(urlPatterns = { "/joboperator" }) 
public class JobOperatorServlet extends HttpServlet { 

Это в дополнение к определению реестра пользователей и пользователей, и предоставления им доступа к пакетному роли, как в документ, на который ссылался, и здесь отрывок из этого:

<httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/> 

<keyStore id="defaultKeyStore" password="Liberty"/> 

<basicRegistry id="basic" realm="ibm/api"> 
    <user name="bob" password="bobpwd"/> 
    <user name="jane" password="janepwd"/> 
</basicRegistry> 

<authorization-roles id="com.ibm.ws.batch"> 
    <security-role name="batchSubmitter"> 
     <user name="bob"/> 
    </security-role> 
    <security-role name="batchAdmin"> 
     <user name="jane"/> 
    </security-role> 
</authorization-roles> 

Теперь есть отдельный, но связанный с ним вопрос о том, как вы настроить пакетную безопасность, то есть, какие функции приносят пакетную безопасность в картину. Но я оставлю это для последующего вопроса и буду считать здесь само собой разумеющимся, что он присутствует.

+0

Я указал точную конфигурацию на сервере server.xml моей версии. но когда я помещаю файл войны maven build внутри каталога dropins и запускаю сервер, я не могу запустить задание, используя ссылку rest. он говорит: «У пользователя UNAUTHUNTICATED нет разрешения на запуск задания» – PremStephenIrudayaraj

+0

ОК, я ответил на вопрос: «Как вы пишете сервлет для работы, учитывая, что пакетная безопасность включена?«Предполагается, что вам действительно нужно работать с пакетной безопасностью. Однако обратите внимание, что вы можете использовать пакетный REST-интерфейс без необходимости работать с пакетной безопасностью. Если бы все, что вы хотели сделать, это запустить образец, поэкспериментировать с интерфейсом REST и инструментами и т. д., не беспокоясь о некоторых из этих данных безопасности на этом этапе, это, безусловно, вариант. Если это действительно то, что вы хотели, пожалуйста, откройте отдельный вопрос, и тогда я отвечу. –

+0

спасибо scott.But this это точный ответ, который я хочу. Я указал вышеприведенные конфигурации внутри сервлета, а также на сервере server.xml, но он говорит: «Пользователь UNAUTHENTICATED не имеет права запускать пакетные задания». Это означает, что он не принял пользователей Я указал – PremStephenIrudayaraj

Смежные вопросы