From: Olivier Lamy Date: Sun, 6 Jan 2013 00:07:35 +0000 (+0000) Subject: add a wrapper on top of Authorizer X-Git-Tag: archiva-1.4-M4~308 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=55300b40ff1eba6a604f7d68c728d004a333a6d8;p=archiva.git add a wrapper on top of Authorizer git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1429442 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaAuthorizer.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaAuthorizer.java new file mode 100644 index 000000000..3ea5acd94 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaAuthorizer.java @@ -0,0 +1,67 @@ +package org.apache.archiva.web.security; +/* + * 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. + */ + +import org.apache.archiva.redback.authorization.AuthorizationDataSource; +import org.apache.archiva.redback.authorization.AuthorizationException; +import org.apache.archiva.redback.authorization.AuthorizationResult; +import org.apache.archiva.redback.authorization.Authorizer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.inject.Inject; +import javax.inject.Named; + +/** + * @author Olivier Lamy + * @since 1.4-M4 + */ +@Service( "authorizer#archiva" ) +public class ArchivaAuthorizer + implements Authorizer +{ + private Logger log = LoggerFactory.getLogger( getClass() ); + + @Inject + @Named( value = "authorizer#rbac" ) + private Authorizer rbacAuthorizer; + + public String getId() + { + return "archiva"; + } + + public AuthorizationResult isAuthorized( AuthorizationDataSource source ) + throws AuthorizationException + { + log.debug( "isAuthorized source: {}", source ); + return rbacAuthorizer.isAuthorized( source ); + } + + public boolean isFinalImplementation() + { + return false; + } + + public String getDescriptionKey() + { + return "archiva.redback.authorizer.archiva"; + } +}