0

https://github.com/WASdev/sample.batch.sleepybatchlet

上記の git サンプルを実行しようとしています。liberty で ant build Java バッチ プロジェクトを構成して実行することができました。しかし、Maven プロジェクトに関しては、残りのサービスを使用してジョブを制御することができませんでした。defaultKeyStore を使用したユーザー認証の問題に問題があります。上記のMavenプロジェクトにserver.xmlがあることに気付きましたが、キーストアのパスワードを作成できませんでした。「Liberty ランタイムが見つかりませんでした」と表示されます。

liberty server.xml で、basicRegistry と security-role で 1 人のユーザーを同じユーザーの「batchadmin」として使用しました

サーバー認証に合格するために、プロジェクト内のserver.xmlでどのような変更を行う必要がありますか。

4

1 に答える 1

0

バッチ ロールベース認証が設定されているときにサーブレットからバッチ操作を実行するには、認証チャレンジをサーブレットに追加して、 UNAUTHENTICATEDではなく特定のユーザーで実行されるようにする必要があります。

これを次のようにサンプルに追加できます。

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>

ここで、バッチ セキュリティをどのように構成するか、つまり、どの機能がバッチ セキュリティに影響を与えるかについて、別の関連する質問があります。しかし、私はそれをフォローアップの質問に残し、ここではそれが存在することを当然のことと考えています.

于 2016-05-03T15:45:13.343 に答える