X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=lib%2Fservlet-api%2Fjavax%2Fservlet%2Fannotation%2FServletSecurity.java;fp=lib%2Fservlet-api%2Fjavax%2Fservlet%2Fannotation%2FServletSecurity.java;h=7ed432ee10f3e3bab7bd23944b7c3c5bbf6ae280;hp=0000000000000000000000000000000000000000;hb=454e6afd89d77c1005eae4838e74e82fae759668;hpb=c2ca9ecd6facc79051cca2e6d46f211dfd54c7b9 diff --git a/lib/servlet-api/javax/servlet/annotation/ServletSecurity.java b/lib/servlet-api/javax/servlet/annotation/ServletSecurity.java new file mode 100644 index 00000000..7ed432ee --- /dev/null +++ b/lib/servlet-api/javax/servlet/annotation/ServletSecurity.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.servlet.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Declare this annotation on a {@link javax.servlet.Servlet} implementation + * class to enforce security constraints on HTTP protocol requests.
+ * The container applies constraints to the URL patterns mapped to each Servlet + * which declares this annotation.
+ *
+ * + * @since Servlet 3.0 + */ +@Inherited +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ServletSecurity { + + /** + * Represents the two possible values of the empty role semantic, active + * when a list of role names is empty. + */ + enum EmptyRoleSemantic { + + /** + * Access MUST be permitted, regardless of authentication state or + * identity + */ + PERMIT, + + /** + * Access MUST be denied, regardless of authentication state or identity + */ + DENY + } + + /** + * Represents the two possible values of data transport, encrypted or not. + */ + enum TransportGuarantee { + + /** + * User data must not be encrypted by the container during transport + */ + NONE, + + /** + * The container MUST encrypt user data during transport + */ + CONFIDENTIAL + } + + /** + * The default constraint to apply to requests not handled by specific + * method constraints + * + * @return http constraint + */ + HttpConstraint value() default @HttpConstraint; + + /** + * An array of HttpMethodContraint objects to which the security constraint + * will be applied + * + * @return array of http method constraint + */ + HttpMethodConstraint[] httpMethodConstraints() default {}; +}