gluu
公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.service.uma.annotations.ApiPermissionService クラス
org.gluu.oxtrust.service.uma.annotations.ApiPermissionService の継承関係図
Inheritance graph
org.gluu.oxtrust.service.uma.annotations.ApiPermissionService 連携図
Collaboration graph

公開メンバ関数

boolean hasPermission (Object target, String action)
 

非公開変数類

Logger log
 
Identity identity
 
AppConfiguration appConfiguration
 
ApplianceService applianceService
 
String [][] managerActions
 

静的非公開変数類

static final long serialVersionUID = 8290321709004847387L
 

詳解

Provides service to protect Rest service endpoints with UMA scope.

著者
Dmitry Ognyannikov

関数詳解

◆ hasPermission()

boolean org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.hasPermission ( Object  target,
String  action 
)
inline
67  {
68  log.trace("Checking permissions for target '{}' an 'action'. Identity: {}", target, action, identity);
69  if (!identity.isLoggedIn()) {
70  return false;
71  }
72 
73  if (identity.hasRole(UserRole.MANAGER.getValue()) || identity.hasRole(UserRole.USER.getValue())) {
74  if (StringHelper.equalsIgnoreCase("profile_management", action)) {
75  GluuAppliance appliance = applianceService.getAppliance();
76  GluuAppliance targetAppliance = (GluuAppliance) target;
77  if (((appliance.getProfileManagment() != null) && appliance.getProfileManagment().isBooleanValue())
78  && StringHelper.equals(applianceService.getAppliance().getInum(), targetAppliance.getInum())) {
79  return true;
80  } else {
81  return false;
82  }
83  }
84 
85  if (StringHelper.equalsIgnoreCase("whitePagesEnabled", action)) {
86  GluuAppliance appliance = applianceService.getAppliance();
87  GluuAppliance targetAppliance = (GluuAppliance) target;
88  if (((appliance.getWhitePagesEnabled() != null) && appliance.getWhitePagesEnabled().isBooleanValue())
89  && StringHelper.equals(applianceService.getAppliance().getInum(), targetAppliance.getInum())) {
90  return true;
91  } else {
92  return false;
93  }
94  }
95  }
96 
97  if (identity.hasRole(UserRole.MANAGER.getValue())) {
98  for (String[] managerAction : managerActions) {
99  String targetString = (String) target;
100  if (StringHelper.equals(managerAction[0], targetString) && StringHelper.equals(managerAction[1], action)) {
101  return true;
102  }
103  }
104  }
105 
106  if (identity.hasRole(UserRole.USER.getValue())) {
107  for (String[] managerAction : managerActions) {
108  String targetString = (String) target;
109  if (StringHelper.equals("profile", targetString) && StringHelper.equals(managerAction[0], targetString) && StringHelper.equals(managerAction[1], action)) {
110  return true;
111  }
112  }
113  }
114 
115 
116  return false;
117  }
GluuAppliance getAppliance(String[] returnAttributes)
Definition: ApplianceService.java:111
Identity identity
Definition: ApiPermissionService.java:37
ApplianceService applianceService
Definition: ApiPermissionService.java:43
String getInum()
Definition: GluuAppliance.java:374
String [][] managerActions
Definition: ApiPermissionService.java:45
Logger log
Definition: ApiPermissionService.java:34

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.appConfiguration
private

◆ applianceService

ApplianceService org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.applianceService
private

◆ identity

Identity org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.identity
private

◆ log

Logger org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.log
private

◆ managerActions

String [][] org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.managerActions
private
初期値:
= new String[][]{
{"attribute", "access"},
{"person", "access"},
{"person", "import"},
{"group", "access"},
{"sectorIdentifier", "access"},
{"trust", "access"},
{"configuration", "access"},
{"log", "access"},
{"import", "access"},
{"profile", "access"},
{"registrationLinks", "access"},
{"scim", "access"},
{"scim_test", "access"},
{"client", "access"},
{"scope", "access"},
{"oxauth", "access"},
{"uma", "access"},
{"super-gluu", "access"},
{"linktrack", "access"},
}

◆ serialVersionUID

final long org.gluu.oxtrust.service.uma.annotations.ApiPermissionService.serialVersionUID = 8290321709004847387L
staticprivate

このクラス詳解は次のファイルから抽出されました: