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

公開メンバ関数

boolean hasPermission (Object target, String action)
 

非公開変数類

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

静的非公開変数類

static final long serialVersionUID = 8880839485161960537L
 

詳解

著者
Yuriy Movchan Date: 05/17/2017

関数詳解

◆ hasPermission()

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

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.service.PermissionService.appConfiguration
private

◆ applianceService

ApplianceService org.gluu.oxtrust.service.PermissionService.applianceService
private

◆ identity

Identity org.gluu.oxtrust.service.PermissionService.identity
private

◆ log

Logger org.gluu.oxtrust.service.PermissionService.log
private

◆ managerActions

String [][] org.gluu.oxtrust.service.PermissionService.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.PermissionService.serialVersionUID = 8880839485161960537L
staticprivate

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