アノテーションインターフェース HttpConstraint


@DocumentedSE @RetentionSE(RUNTIMESE) public @interface HttpConstraint
このアノテーションは ServletSecurity アノテーション内で使用され、対応する HttpMethodConstraint 要素が ServletSecurity アノテーション内で発生しないすべての HTTP プロトコルメソッドに適用されるセキュリティ制約を表します。

すべてのデフォルト値を返す @HttpConstraint が、すべてのデフォルト値以外を返す少なくとも 1 つの HttpMethodConstraint と組み合わせて発生する特殊なケースの場合、@HttpConstraint は、セキュリティが適用される HTTP プロトコルメソッドのいずれにもセキュリティ制約が適用されないことを表します。それ以外の場合は制約が適用されます。この例外は、@HttpConstraint のそのような潜在的に非特定の使用が、そのようなメソッドの保護されていないアクセスを明示的に確立する制約を生じさせないことを保証するために行われます。そうでなければ制約の対象にならないことを考えると。

導入:
Servlet 3.0
  • 要素の詳細

    • value

      デフォルトの認証セマンティクス。rolesAllowed が空でない配列を返す場合、この値は重要ではありません。また、rolesAllowed に空でない配列が指定されている場合は指定しないでください。
      戻り値:
      rolesAllowed が空の(つまり長さがゼロの)配列を返すときに適用される ServletSecurity.EmptyRoleSemantic
      デフォルト:
      PERMIT
    • transportGuarantee

      リクエストが到着する接続が満たす必要があるデータ保護要件(つまり、SSL/TLS が必要かどうか)。
      戻り値:
      接続によって提供される必要があるデータ保護を示す ServletSecurity.TransportGuarantee
      デフォルト:
      NONE
    • rolesAllowed

      StringSE[] rolesAllowed
      承認されたロールの名前。rolesAllowed に重複するロール名があっても意味はなく、アノテーションの実行時処理中に破棄される可能性があります。文字列 "*" は、ロール名として特別な意味を持ちません (rolesAllowed に出現した場合)。
      戻り値:
      0 個以上のロール名の配列。配列にゼロ要素が含まれている場合、その意味は value メソッドによって返される EmptyRoleSemantic によって異なります。value が DENY を返し、rolesAllowed が長さゼロの配列を返す場合、認証の状態と ID に関係なくアクセスが拒否されます。逆に、value が PERMIT を返す場合は、認証の状態と ID に関係なくアクセスが許可されることを示します。配列に 1 つ以上のロールの名前が含まれている場合、アクセスは、(value メソッドによって返される EmptyRoleSemantic とは無関係に)少なくとも 1 つの名前付きロールのメンバーシップに依存していることを示します。
      デフォルト:
      {}