Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
reg-app
Regapp
Commits
c2fb82ad
Commit
c2fb82ad
authored
May 04, 2021
by
michael.simon
Browse files
Change layout and text on idp-admin page
parent
f50e1776
Changes
2
Hide whitespace changes
Inline
Side-by-side
bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/idpadmn/IdpAdminIndexBean.java
View file @
c2fb82ad
...
...
@@ -89,7 +89,7 @@ public class IdpAdminIndexBean implements Serializable {
throw
new
NotAuthorizedException
(
"Not authorized"
);
}
if
(
selectedIdp
==
null
)
{
if
(
selectedIdp
==
null
&&
getIdpList
().
size
()
>
0
)
{
selectedIdp
=
getIdpList
().
get
(
0
);
}
}
...
...
@@ -117,7 +117,7 @@ public class IdpAdminIndexBean implements Serializable {
for
(
UserEntity
user
:
getUserList
())
{
if
(
user
instanceof
SamlUserEntity
&&
user
.
getAttributeStore
().
containsKey
(
"urn:oid:1.3.6.1.4.1.5923.1.1.1.7"
)
&&
user
.
getAttributeStore
().
get
(
"urn:oid:1.3.6.1.4.1.5923.1.1.1.7"
).
contains
(
"
http://bwidm.scc.kit.edu/entitlement/
idp-admin"
))
{
user
.
getAttributeStore
().
get
(
"urn:oid:1.3.6.1.4.1.5923.1.1.1.7"
).
contains
(
"
urn:geant:kit.edu:res:fels:
idp-admin"
))
{
idpList
.
add
(((
SamlUserEntity
)
user
).
getIdp
());
}
...
...
bwreg-webapp/src/main/webapp/idp-admin/index.xhtml
View file @
c2fb82ad
...
...
@@ -7,197 +7,206 @@
xmlns:bw=
"http://www.scc.kit.edu/bwfacelets"
xmlns:p=
"http://primefaces.org/ui"
xmlns:of=
"http://omnifaces.org/functions"
>
<head>
<title></title>
</head>
<body>
<h:head>
<f:facet
name=
"first"
>
<meta
charset=
"utf-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<meta
name=
"theme-color"
content=
"#009682"
/>
<meta
http-equiv=
"cleartype"
content=
"on"
/>
<title>
IDP Admin Infos
</title>
</f:facet>
<h:outputScript
library=
"javax.faces"
name=
"jsf.js"
target=
"head"
/>
</h:head>
<h:body>
<f:view>
<f:metadata>
<f:event
type=
"javax.faces.event.PreRenderViewEvent"
listener=
"#{idpAdminIndexBean.preRenderView}"
/>
</f:metadata>
<ui:composition
template=
"/template/default.xhtml"
>
<ui:param
name=
"title"
value=
"#{messages.title}"
/>
<ui:define
name=
"content"
>
<h:form
id=
"form"
class=
"full form"
>
<h2><h:outputText
value=
"#{messages.idp_admin}"
/></h2>
<p:selectOneMenu
value=
"#{idpAdminIndexBean.selectedIdp}"
converter=
"#{samlIdpMetadataConverter}"
>
<f:selectItems
value=
"#{idpAdminIndexBean.idpList}"
var=
"idp"
itemLabel=
"#{idp.entityId}"
itemValue=
"#{idp}"
/>
<f:ajax
render=
":form:idpDetailPanel"
execute=
"@this"
/>
</p:selectOneMenu>
<p:tabView
id=
"idpDetailPanel"
dynamic=
"true"
cache=
"false"
>
<p:tab
id=
"tab1"
title=
"#{messages.overview}"
>
<p:panelGrid
id=
"baseData"
columns=
"2"
>
<h:outputText
value=
"#{messages.id}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.id}"
/>
<h2>
IDP Admin Info
</h2>
<p:panel
rendered=
"#{idpAdminIndexBean.idpList.size() == 0}"
>
In order to see IDP Infos here, you need to have a proper entitlement (urn:oid:1.3.6.1.4.1.5923.1.1.1.7) from your home organization: urn:geant:kit.edu:res:fels:idp-admin
</p:panel>
<p:outputPanel
rendered=
"#{idpAdminIndexBean.idpList.size() > 0}"
>
<p:selectOneMenu
value=
"#{idpAdminIndexBean.selectedIdp}"
converter=
"#{samlIdpMetadataConverter}"
>
<f:selectItems
value=
"#{idpAdminIndexBean.idpList}"
var=
"idp"
itemLabel=
"#{idp.entityId}"
itemValue=
"#{idp}"
/>
<f:ajax
render=
":form:idpDetailPanel"
execute=
"@this"
/>
</p:selectOneMenu>
<p:tabView
id=
"idpDetailPanel"
dynamic=
"true"
cache=
"false"
>
<p:tab
id=
"tab1"
title=
"Overview"
>
<p:panelGrid
id=
"baseData"
columns=
"2"
>
<h:outputText
value=
"#{messages.entity_id}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.entityId}"
/>
<h:outputText
value=
"#{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.status}"
/>
<h:outputText
value=
"#{messages.artifact_resolution} #{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.aqIdpStatus} (changed: #{idpAdminIndexBean.idp.lastAqStatusChange})"
/>
<h:outputText
value=
"#{messages.single_sign_on} #{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.idIdpStatus} (changed: #{idpAdminIndexBean.idp.lastIdStatusChange})"
/>
<h:outputText
value=
"#{messages.name}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.displayName}"
/>
<h:outputText
value=
"#{messages.information_url}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.informationUrl}"
/>
<h:outputText
value=
"#{messages.org_name}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.orgName}"
/>
<h:outputText
value=
"#{messages.description}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.description}"
/>
<h:outputText
value=
"#{messages.scopes}:"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"s"
value=
"#{idpAdminIndexBean.idp.scopes.toArray()}"
>
<li><h:outputText
value=
"#{s.scope} (is regex: #{s.regex})"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputText
value=
"#{messages.generic_store}:"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"key"
value=
"#{idpAdminIndexBean.idp.genericStore.keySet().toArray()}"
>
<li>
<h:panelGrid
id=
"newPropTable"
columns=
"2"
columnClasses=
"labelColumn, elementColumn"
>
<h:outputText
value=
"#{key}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.genericStore.get(key)}"
/>
</h:panelGrid>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</p:panelGrid>
</p:tab>
<p:tab
id=
"tab2"
title=
"#{messages.saml_detail}"
>
<p:panelGrid
columns=
"2"
>
<h:outputLabel
value=
"#{messages.supported_protocols}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"proto"
value=
"#{idpAdminIndexBean.idpssoDescriptor.supportedProtocols}"
>
<li><h:outputText
value=
"#{proto}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.keys}"
/>
<h:panelGroup>
<ui:repeat
var=
"key"
value=
"#{idpAdminIndexBean.idpssoDescriptor.keyDescriptors}"
>
<p:panel
header=
"#{key.use}"
collapsed=
"true"
toggleable=
"true"
>
<p:messages
for=
"certMsg-#{key.hashCode()}"
showDetail=
"true"
/>
<ui:repeat
var=
"cert"
value=
"#{idpAdminIndexBean.getCert(key)}"
>
<div
style=
"max-width: 700px; max-height:400px; font-family: courier, monospace; font-size:10px; white-space: pre; overflow: scroll;"
>
<h:outputText
value=
"#{cert}"
/>
</div>
<h:outputText
value=
"#{messages.id}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.id}"
/>
<h:outputText
value=
"#{messages.entity_id}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.entityId}"
/>
<h:outputText
value=
"#{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.status}"
/>
<h:outputText
value=
"#{messages.artifact_resolution} #{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.aqIdpStatus} (changed: #{idpAdminIndexBean.idp.lastAqStatusChange})"
/>
<h:outputText
value=
"#{messages.single_sign_on} #{messages.status}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.idIdpStatus} (changed: #{idpAdminIndexBean.idp.lastIdStatusChange})"
/>
<h:outputText
value=
"#{messages.name}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.displayName}"
/>
<h:outputText
value=
"#{messages.information_url}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.informationUrl}"
/>
<h:outputText
value=
"#{messages.org_name}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.orgName}"
/>
<h:outputText
value=
"#{messages.description}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.description}"
/>
<h:outputText
value=
"#{messages.scopes}:"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"s"
value=
"#{idpAdminIndexBean.idp.scopes.toArray()}"
>
<li><h:outputText
value=
"#{s.scope} (is regex: #{s.regex})"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputText
value=
"#{messages.generic_store}:"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"key"
value=
"#{idpAdminIndexBean.idp.genericStore.keySet().toArray()}"
>
<li>
<h:panelGrid
id=
"newPropTable"
columns=
"2"
columnClasses=
"labelColumn, elementColumn"
>
<h:outputText
value=
"#{key}:"
/>
<h:outputText
value=
"#{idpAdminIndexBean.idp.genericStore.get(key)}"
/>
</h:panelGrid>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</p:panelGrid>
</p:tab>
<p:tab
id=
"tab2"
title=
"Metadata details"
>
<p:panelGrid
columns=
"2"
>
<h:outputLabel
value=
"#{messages.supported_protocols}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"proto"
value=
"#{idpAdminIndexBean.idpssoDescriptor.supportedProtocols}"
>
<li><h:outputText
value=
"#{proto}"
/></li>
</ui:repeat>
</p:panel>
</ui:repeat>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.artifact_resolution}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.artifactResolutionServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.single_sign_on}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.singleSignOnServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.single_logout}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.singleLogoutServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.keys}"
/>
<h:panelGroup>
<ui:repeat
var=
"key"
value=
"#{idpAdminIndexBean.idpssoDescriptor.keyDescriptors}"
>
<p:panel
header=
"#{key.use}"
collapsed=
"true"
toggleable=
"true"
>
<p:messages
for=
"certMsg-#{key.hashCode()}"
showDetail=
"true"
/>
<ui:repeat
var=
"cert"
value=
"#{idpAdminIndexBean.getCert(key)}"
>
<div
style=
"max-width: 700px; max-height:400px; font-family: courier, monospace; font-size:10px; white-space: pre; overflow: scroll;"
>
<h:outputText
value=
"#{cert}"
/>
</div>
</ui:repeat>
</p:panel>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.nameid_format}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"nidf"
value=
"#{idpAdminIndexBean.idpssoDescriptor.nameIDFormats}"
>
<li><h:outputText
value=
"#{nidf.format}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.organisation}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.organizationNames}"
>
<li>
OrgName:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.displayNames}"
>
<li>
DisplayName:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.URLs}"
>
<li>
URL:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.contact_person}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"person"
value=
"#{idpAdminIndexBean.entityDescriptor.contactPersons}"
>
<li><h:outputText
value=
"#{person.type}: #{person.surName.name}, #{person.givenName.name}"
/>
<ul>
<ui:repeat
var=
"email"
value=
"#{person.emailAddresses}"
>
<li>
Email:
<h:outputText
value=
"#{email.address}"
/></li>
</ui:repeat>
<ui:repeat
var=
"tel"
value=
"#{person.telephoneNumbers}"
>
<li>
Telefon:
<h:outputText
value=
"#{tel.number}"
/></li>
</ui:repeat>
</ul>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.artifact_resolution}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.artifactResolutionServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.single_sign_on}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.singleSignOnServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.single_logout}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"endpoint"
value=
"#{idpAdminIndexBean.idpssoDescriptor.singleLogoutServices}"
>
<li><h:outputText
value=
"#{endpoint.binding}"
/>
-
<h:outputText
value=
"#{endpoint.location}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.nameid_format}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"nidf"
value=
"#{idpAdminIndexBean.idpssoDescriptor.nameIDFormats}"
>
<li><h:outputText
value=
"#{nidf.format}"
/></li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.organisation}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.organizationNames}"
>
<li>
OrgName:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.displayNames}"
>
<li>
DisplayName:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
<ul>
<ui:repeat
var=
"org"
value=
"#{idpAdminIndexBean.entityDescriptor.organization.URLs}"
>
<li>
URL:
<h:outputText
value=
"#{org.value}"
/>
(
<h:outputText
value=
"#{org.XMLLang}"
/>
)
</li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:outputLabel
value=
"#{messages.contact_person}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"person"
value=
"#{idpAdminIndexBean.entityDescriptor.contactPersons}"
>
<li><h:outputText
value=
"#{person.type}: #{person.surName.name}, #{person.givenName.name}"
/>
<ul>
<ui:repeat
var=
"email"
value=
"#{person.emailAddresses}"
>
<li>
Email:
<h:outputText
value=
"#{email.address}"
/></li>
</ui:repeat>
<ui:repeat
var=
"tel"
value=
"#{person.telephoneNumbers}"
>
<li>
Telefon:
<h:outputText
value=
"#{tel.number}"
/></li>
</ui:repeat>
</ul>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</p:panelGrid>
</p:tab>
</p:tabView>
</p:panelGrid>
</p:tab>
</p:tabView>
</p:outputPanel>
</h:form>
</ui:define>
</ui:composition>
</f:view>
</body>
</
h:
body>
</html>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment