@@ -0,0 +1,1683 @@
+/*%0A * Copyright 2016 Bjoern Bilger%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.jrestless.core.security;%0A%0Aimport java.security.Principal;%0A%0Aimport javax.ws.rs.core.SecurityContext;%0A%0A/**%0A * Simple anonymous / unauthenticated security context.%0A *%0A * @author Bjoern Bilger%0A *%0A */%0Apublic class AnonSecurityContext implements SecurityContext %7B%0A%0A%09private final boolean secure;%0A%0A%09/**%0A%09 * Creates a new anonymous security context - assuming the request was made%0A%09 * via a secure channel (HTTPS).%0A%09 *%0A%09 * @see %7B@link #AnonSecurityContext(boolean) AnonSecurityContext(true)%7D%0A%09 */%0A%09public AnonSecurityContext() %7B%0A%09%09this(true);%0A%09%7D%0A%0A%09/**%0A%09 * Creates a new anonymous security context.%0A%09 *%0A%09 * @param secure%0A%09 *            true if the request was made via a secure channel (HTTPS),%0A%09 *            false otherwise%0A%09 */%0A%09public AnonSecurityContext(boolean secure) %7B%0A%09%09this.secure = secure;%0A%09%7D%0A%0A%09@Override%0A%09public Principal getUserPrincipal() %7B%0A%09%09return null;%0A%09%7D%0A%0A%09@Override%0A%09public boolean isUserInRole(String role) %7B%0A%09%09return false;%0A%09%7D%0A%0A%09@Override%0A%09public boolean isSecure() %7B%0A%09%09return secure;%0A%09%7D%0A%0A%09@Override%0A%09public String getAuthenticationScheme() %7B%0A%09%09return null;%0A%09%7D%0A%7D

add anon security context