Refine access control, peer access
[federation.git] / gateway / src / main / java / org / acumos / federation / gateway / security / Priviledge.java
1 /* 
2  * ===============LICENSE_START=======================================================
3  * Acumos
4  * ===================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
6  * ===================================================================================
7  * This Acumos software file is distributed by AT&T and Tech Mahindra
8  * under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * This file is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ===============LICENSE_END=========================================================
19  */
20 package org.acumos.federation.gateway.security;
21
22
23 import org.springframework.security.core.GrantedAuthority;
24
25 /**
26  * An enumeratoin of federated access fine grained proviledges
27  */
28 public enum Priviledge implements GrantedAuthority {
29
30         /** 
31                 Gives access to catalog items (solutions); coarse at this point, all
32                 (list/read/download) or nothing
33          */
34         CATALOG_ACCESS,
35         /**
36                 Gives access to the local list of peers.
37                 In the future we might want to refine this by defining which peers should be provided (byb some base selection criteria)
38          */
39         PEERS_ACCESS,
40         /**
41                 The right to submit a subscription request. This is granted to ANY if so enabled system wide.
42          */
43         SUBSCRIPTION;
44
45         Priviledge() {
46         }
47
48         @Override
49         public String getAuthority() {
50                 return name();
51         }
52 }
53