Zugriff über den User Identity Adapter
Mit dem User Identity Adapter lässt sich der Zugriff und die Bearbeitung von Controls und GridColumns über in Keycloak gespeicherte Benutzer beschränken.
Beispiele:
In einer Web App gibt es drei Keycloak-Benutzer:
Access: Zugriff auf allgemeine Inhalte
CEO: Zugriff auf Inhalte, die nur für den CEO sichtbar sein sollen
Admin: Zugriff auf Inhalte, die nur für den Administrator sichtbar sein sollen
Die Detail Component greift auf einen Technical Process (.wrf
-Datei) zu, in dem der User Identity Adapter prüft, welcher Benutzer zurzeit angemeldet ist. Das auf den Adapter folgende Mapping prüft anschließend, auf welche Component der Benutzer Zugriff hat:

Die Keycloak-Benutzer werden in den Eigenschaften (<Properties/>
) der Detail Component angegeben:
<?xml version="1.0" encoding="UTF-8"?>
<DetailComponent
xmlns="http://softproject.de/webapp/1.0" process="AccessRights/LoadUserIdentityCard.wrf">
<Properties>
<Property name="ACCESS" type="Complex">
<Property name="CEO" type="Boolean"/>
<Property name="ADMIN" type="Boolean"/>
</Property>
</Properties>
...
</DetailComponent>
Mapping mit Prüfung der Zugriffsrechte:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet exclude-result-prefixes="xs" version="2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output media-type="text/xml" method="xml"/>
<xsl:template match="/">
<Ok>
<ACCESS>
<CEO>
<xsl:choose>
<xsl:when test="//Roles/Role = 'ceo'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</CEO>
<ADMIN>
<xsl:choose>
<xsl:when test="//Roles/Role = 'admin'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</ADMIN>
</ACCESS>
</Ok>
</xsl:template>
</xsl:stylesheet>
<!--Created by X4 Designer, Copyright © SoftProject GmbH. All rights reserved.-->