1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.panels;
20
21 import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
22 import java.util.ArrayList;
23 import java.util.List;
24 import org.apache.syncope.client.console.SyncopeConsoleSession;
25 import org.apache.syncope.client.console.rest.SAML2IdPEntityRestClient;
26 import org.apache.syncope.client.console.rest.SAML2SPEntityRestClient;
27 import org.apache.syncope.common.lib.SyncopeConstants;
28 import org.apache.syncope.common.lib.types.AMEntitlement;
29 import org.apache.wicket.PageReference;
30 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
31 import org.apache.wicket.extensions.markup.html.tabs.ITab;
32 import org.apache.wicket.markup.html.panel.Panel;
33 import org.apache.wicket.model.Model;
34 import org.apache.wicket.spring.injection.annot.SpringBean;
35
36 public class SAML2 extends Panel {
37
38 private static final long serialVersionUID = 7093557205333650002L;
39
40 @SpringBean
41 protected SAML2IdPEntityRestClient saml2IdPEntityRestClient;
42
43 @SpringBean
44 protected SAML2SPEntityRestClient saml2SPEntityRestClient;
45
46 public SAML2(final String id, final String waPrefix, final PageReference pageRef) {
47 super(id);
48
49 add(new AjaxBootstrapTabbedPanel<>("saml2", buildTabList(waPrefix, pageRef)));
50 }
51
52 protected List<ITab> buildTabList(final String waPrefix, final PageReference pageRef) {
53 List<ITab> tabs = new ArrayList<>();
54
55 if (SyncopeConsoleSession.get().owns(AMEntitlement.SAML2_IDP_ENTITY_LIST, SyncopeConstants.ROOT_REALM)) {
56 tabs.add(new AbstractTab(Model.of("Identity Provider")) {
57
58 private static final long serialVersionUID = 5211692813425391144L;
59
60 @Override
61 public Panel getPanel(final String panelId) {
62 return new SAML2IdPEntityDirectoryPanel(panelId, saml2IdPEntityRestClient, waPrefix, pageRef);
63 }
64 });
65 }
66
67 if (SyncopeConsoleSession.get().owns(AMEntitlement.SAML2_SP_ENTITY_LIST, SyncopeConstants.ROOT_REALM)) {
68 tabs.add(new AbstractTab(Model.of("Service Provider")) {
69
70 private static final long serialVersionUID = 5211692813425391144L;
71
72 @Override
73 public Panel getPanel(final String panelId) {
74 return new SAML2SPEntityDirectoryPanel(panelId, saml2SPEntityRestClient, waPrefix, pageRef);
75 }
76 });
77 }
78
79 return tabs;
80 }
81 }