バッチロールベースの認証が設定されているときにサーブレットからバッチ操作を実行するには、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>
さて、あなたは絵にバッチセキュリティを持っていますつまり、バッチのセキュリティを、設定するのですかの独立したが、関連する質問があります:それの抜粋です。しかし、私はフォローアップの質問のためにそれを残し、それが存在することをここでは当然と考えています。
詳細を入力できますか? server.xmlのコピー、実行している正確なコマンド、および対応するエラーコマンド?あなたが知っているサンプル自体には、テストを実行したり、WARをLibertyにデプロイするMaven自動化は含まれていないので、何をしようとしているのか正確には分かりません。 –
また、セキュリティをどのように設定しているのか分かりませんが、変更を行っている場合は、** /resources/security/key.jks**を削除して、再起動時にサーバを再生成させてみてください。 –