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

公開メンバ関数

void addFederationProposal (GluuSAMLFederationProposal federationProposal)
 
String generateInumForNewFederationProposal ()
 
boolean containsFederationProposal (GluuSAMLFederationProposal federationProposal)
 
String getDnForFederationProposal (String inum)
 
void updateFederationProposal (GluuSAMLFederationProposal federationProposal)
 
List< GluuSAMLFederationProposalgetAllFederationProposals ()
 
GluuSAMLFederationProposal getProposalByInum (String inum)
 
void removeFederationProposal (GluuSAMLFederationProposal federationProposal)
 
GluuMetadataSourceType [] getMetadataSourceTypes ()
 
List< GluuSAMLFederationProposalgetAllActiveFederationProposals ()
 
List< GluuSAMLFederationProposalgetAllFederations ()
 
GluuSAMLFederationProposal getProposalByDn (String dn)
 

非公開メンバ関数

String generateInumForNewFederationProposalImpl ()
 
String getApplianceInum ()
 

非公開変数類

PersistenceEntryManager ldapEntryManager
 
ApplianceService applianceService
 
Shibboleth3ConfService shibboleth3ConfService
 
AppConfiguration appConfiguration
 

静的非公開変数類

static final long serialVersionUID = 3701922947171190714L
 

詳解

関数詳解

◆ addFederationProposal()

void org.gluu.oxtrust.ldap.service.FederationService.addFederationProposal ( GluuSAMLFederationProposal  federationProposal)
inline
45  {
46  String[] clusterMembers = appConfiguration.getClusteredInums();
47  String applianceInum = appConfiguration.getApplianceInum();
48  if (clusterMembers == null || clusterMembers.length == 0) {
49  clusterMembers = new String[] { applianceInum };
50  }
51 
52  String dn = federationProposal.getDn();
53  for (String clusterMember : clusterMembers) {
54  String clusteredDN = StringHelper.replaceLast(dn, applianceInum, clusterMember);
55  federationProposal.setDn(clusteredDN);
56  ldapEntryManager.persist(federationProposal);
57  }
58  federationProposal.setDn(dn);
59  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
AppConfiguration appConfiguration
Definition: FederationService.java:43

◆ containsFederationProposal()

boolean org.gluu.oxtrust.ldap.service.FederationService.containsFederationProposal ( GluuSAMLFederationProposal  federationProposal)
inline

Check if LDAP server contains federation proposal with specified attributes

戻り値
True if federation proposal with specified attributes exist
94  {
95  return ldapEntryManager.contains(federationProposal);
96  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35

◆ generateInumForNewFederationProposal()

String org.gluu.oxtrust.ldap.service.FederationService.generateInumForNewFederationProposal ( )
inline

Generate new inum for federation proposal

戻り値
New inum for federation proposal
66  {
67  InumEntry entry = new InumEntry();
68  String newDn = appConfiguration.getBaseDN();
69  entry.setDn(newDn);
70  String newInum;
71  do {
73  entry.setInum(newInum);
74  } while (ldapEntryManager.contains(entry));
75 
76  return newInum;
77  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
AppConfiguration appConfiguration
Definition: FederationService.java:43
String generateInumForNewFederationProposalImpl()
Definition: FederationService.java:84

◆ generateInumForNewFederationProposalImpl()

String org.gluu.oxtrust.ldap.service.FederationService.generateInumForNewFederationProposalImpl ( )
inlineprivate

Generate new inum for federation proposal

戻り値
New inum for federation proposal
84  {
85  return getApplianceInum() + OxTrustConstants.inumDelimiter + "0006" + OxTrustConstants.inumDelimiter + INumGenerator.generate(2);
86  }
String getApplianceInum()
Definition: FederationService.java:103

◆ getAllActiveFederationProposals()

List<GluuSAMLFederationProposal> org.gluu.oxtrust.ldap.service.FederationService.getAllActiveFederationProposals ( )
inline
193  {
194  GluuSAMLFederationProposal federationProposal = new GluuSAMLFederationProposal();
195  federationProposal.setBaseDn(getDnForFederationProposal(null));
196  federationProposal.setStatus(GluuStatus.ACTIVE);
197 
198  return ldapEntryManager.findEntries(federationProposal);
199  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
String getDnForFederationProposal(String inum)
Definition: FederationService.java:115

◆ getAllFederationProposals()

List<GluuSAMLFederationProposal> org.gluu.oxtrust.ldap.service.FederationService.getAllFederationProposals ( )
inline

This is a LDAP operation as LDAP and IDP will always be in sync. We can just call LDAP to fetch all Federation Proposals.

145  {
146  return ldapEntryManager.findEntries(getDnForFederationProposal(null), GluuSAMLFederationProposal.class, null);
147  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
String getDnForFederationProposal(String inum)
Definition: FederationService.java:115

◆ getAllFederations()

List<GluuSAMLFederationProposal> org.gluu.oxtrust.ldap.service.FederationService.getAllFederations ( )
inline
201  {
202  List<GluuSAMLFederationProposal> result = new ArrayList<GluuSAMLFederationProposal>();
203  for (GluuSAMLFederationProposal trust : getAllActiveFederationProposals()) {
204  if (trust.isFederation()) {
205  result.add(trust);
206  }
207  }
208 
209  return result;
210  }
List< GluuSAMLFederationProposal > getAllActiveFederationProposals()
Definition: FederationService.java:193

◆ getApplianceInum()

String org.gluu.oxtrust.ldap.service.FederationService.getApplianceInum ( )
inlineprivate

Return current organization inum

戻り値
Current organization inum
103  {
104  return appConfiguration.getApplianceInum();
105  }
AppConfiguration appConfiguration
Definition: FederationService.java:43

◆ getDnForFederationProposal()

String org.gluu.oxtrust.ldap.service.FederationService.getDnForFederationProposal ( String  inum)
inline

Build DN string for federation proposal

引数
inumInum
戻り値
DN string for specified federation proposal or DN for federation proposal branch if inum is null
115  {
116  String applianceDn = applianceService.getDnForAppliance();
117  if (StringHelper.isEmpty(inum)) {
118  return String.format("ou=federations,%s", applianceDn);
119  }
120 
121  return String.format("inum=%s,ou=federations,%s", inum, applianceDn);
122  }
String getDnForAppliance(String inum)
Definition: ApplianceService.java:159
ApplianceService applianceService
Definition: FederationService.java:37

◆ getMetadataSourceTypes()

GluuMetadataSourceType [] org.gluu.oxtrust.ldap.service.FederationService.getMetadataSourceTypes ( )
inline

Get all metadata source types

戻り値
Array of metadata source types
185  {
186  List<GluuMetadataSourceType> trTypes = Arrays.asList(GluuMetadataSourceType.values());
187  List<GluuMetadataSourceType> proposalTypes = new ArrayList<GluuMetadataSourceType>(trTypes);
188  proposalTypes.remove(GluuMetadataSourceType.FEDERATION);
189  proposalTypes.remove(GluuMetadataSourceType.GENERATE);
190  return proposalTypes.toArray(new GluuMetadataSourceType[] {});
191  }

◆ getProposalByDn()

GluuSAMLFederationProposal org.gluu.oxtrust.ldap.service.FederationService.getProposalByDn ( String  dn)
inline
212  {
213  if (StringHelper.isNotEmpty(dn)) {
214  return ldapEntryManager.find(GluuSAMLFederationProposal.class, dn);
215  }
216  return null;
217  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35

◆ getProposalByInum()

GluuSAMLFederationProposal org.gluu.oxtrust.ldap.service.FederationService.getProposalByInum ( String  inum)
inline
149  {
150  return ldapEntryManager.find(GluuSAMLFederationProposal.class, getDnForFederationProposal(inum));
151  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
String getDnForFederationProposal(String inum)
Definition: FederationService.java:115

◆ removeFederationProposal()

void org.gluu.oxtrust.ldap.service.FederationService.removeFederationProposal ( GluuSAMLFederationProposal  federationProposal)
inline
153  {
154  if (federationProposal.isFederation()) {
155  for (GluuSAMLFederationProposal proposal : getAllFederationProposals()) {
156  if (proposal.getContainerFederation() != null && proposal.getContainerFederation().equals(federationProposal)) {
157  shibboleth3ConfService.removeMetadataFile(proposal.getSpMetaDataFN());
158  removeFederationProposal(proposal);
159  }
160  }
161  } else {
162  shibboleth3ConfService.removeMetadataFile(federationProposal.getSpMetaDataFN());
163  }
164 
165  String[] clusterMembers = appConfiguration.getClusteredInums();
166  String applianceInum = appConfiguration.getApplianceInum();
167  if (clusterMembers == null || clusterMembers.length == 0) {
168  clusterMembers = new String[] { applianceInum };
169  }
170 
171  String dn = federationProposal.getDn();
172  for (String clusterMember : clusterMembers) {
173  String clusteredDN = StringHelper.replaceLast(dn, applianceInum, clusterMember);
174  federationProposal.setDn(clusteredDN);
175  ldapEntryManager.remove(federationProposal);
176  }
177  federationProposal.setDn(dn);
178  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
void removeMetadataFile(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:1227
AppConfiguration appConfiguration
Definition: FederationService.java:43
List< GluuSAMLFederationProposal > getAllFederationProposals()
Definition: FederationService.java:145
void removeFederationProposal(GluuSAMLFederationProposal federationProposal)
Definition: FederationService.java:153
Shibboleth3ConfService shibboleth3ConfService
Definition: FederationService.java:40

◆ updateFederationProposal()

void org.gluu.oxtrust.ldap.service.FederationService.updateFederationProposal ( GluuSAMLFederationProposal  federationProposal)
inline
124  {
125  String[] clusterMembers = appConfiguration.getClusteredInums();
126  String applianceInum = appConfiguration.getApplianceInum();
127  if (clusterMembers == null || clusterMembers.length == 0) {
128  clusterMembers = new String[] { applianceInum };
129  }
130 
131  String dn = federationProposal.getDn();
132  for (String clusterMember : clusterMembers) {
133  String clusteredDN = StringHelper.replaceLast(dn, applianceInum, clusterMember);
134  federationProposal.setDn(clusteredDN);
135  ldapEntryManager.merge(federationProposal);
136  }
137  federationProposal.setDn(dn);
138 
139  }
PersistenceEntryManager ldapEntryManager
Definition: FederationService.java:35
AppConfiguration appConfiguration
Definition: FederationService.java:43

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.ldap.service.FederationService.appConfiguration
private

◆ applianceService

ApplianceService org.gluu.oxtrust.ldap.service.FederationService.applianceService
private

◆ ldapEntryManager

PersistenceEntryManager org.gluu.oxtrust.ldap.service.FederationService.ldapEntryManager
private

◆ serialVersionUID

final long org.gluu.oxtrust.ldap.service.FederationService.serialVersionUID = 3701922947171190714L
staticprivate

◆ shibboleth3ConfService

Shibboleth3ConfService org.gluu.oxtrust.ldap.service.FederationService.shibboleth3ConfService
private

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