FrontTailor 1.0.0 (10 November 2026): inspector, OData, performance, UI5 2.0, AI and operations for SAP Fiori® and UI5 apps – in one panel. What’s inside → +43 664 1964199Contact →

Roles and authorizations

Two tabs for authorization questions in SAP Fiori® apps: Authorizations evaluates the app’s 401, 403 and SAP authorization messages and checks why a tile is missing. Roles asks the system itself through the ABAP add-on – roles, catalogs, start authorization, also for another user. Both are part of the Enterprise edition.

Edition
from Enterprise
Tabs
“Authorizations” and “Roles”
Data source
the OData console’s recording; optionally the ABAP add-on
Users
always masked (D********1)
On PROD
allowed – both tabs only read

Evaluate authorization errors

The Authorizations tab reads along with the recording of the OData console; it does not ask the page again and sends nothing. As soon as a request comes back with 401, 403 or an SAP message about authorization, service activation or system alias, a finding appears. The tab groups identical findings and counts them.

  1. Open the FrontTailor panel in DevTools (F12) and choose the Authorizations tab.
  2. Trigger the action that fails in the app.
  3. Read the missing object with field and value in the finding and follow the next steps.
  4. Pass the finding to the basis team with Copy as Markdown or Create ticket….
Finding Missing authorization with request, service ZFT_DEMO_SRV, missing object Z_PRODUCT (ACTVT = 03), transaction ID and three next steps
A simulated 403 of the freestyle demo app: object Z_PRODUCT, activity 03.
  1. The finding: kind, request, service, missing object, message code, transaction ID, message and last occurrence.
  2. Next steps with links such as Open SU53 and Open /IWFND/ERROR_LOG. They open SAP GUI for HTML of the same system – only on click.
  3. Copy as Markdown and Download (.md) – per finding or for all.
  4. Create ticket… opens the ticket dialog of the issue reporter with the finding, for example for ServiceNow.
Kind in the tabDetected byNext step (excerpt)
Missing authorizationHTTP 403 or /IWBEP/CM_MGW_RT/022SU53, assign the object through a PFCG role, start authorization
Not logged on (HTTP 401)HTTP 401log on again, logon procedure of the ICF node (SICF)
CSRF token rejected (no authorization problem)403 with x-csrf-token: Requiredreload the page; otherwise check proxy or Web Dispatcher
Service not registered or not active/IWFND/MED/170/IWFND/MAINT_SERVICE, ICF node
No system alias for the service/IWFND/CM_MGW/096system alias in /IWFND/MAINT_SERVICE, RFC destination in SM59
ICF node inactiveICF messageactivate the node in SICF

It detects standard objects such as S_SERVICE and S_START and named objects (“authorization object Z_PRODUCT”), plus field and value (“activity 03” becomes ACTVT = 03) and named PFCG roles. It evaluates JSON (OData V2 and V4), XML and CAP errors, and parts of a $batch one by one. User ids never appear in clear text: DEVELOPER1 becomes D********1. Exports contain the page URL without query and hash.

Why don’t I see this tile?

The check chain in the same tab explains why a tile is missing in the launchpad. Since the tile cannot be seen, you enter its intent – suggestions come from the launchpad content; if the current hash holds an intent, it is pre-filled.

  1. Open the Authorizations tab in the launchpad.
  2. Enter the intent under Intent, for example SalesOrder-display.
  3. Click Check. The chain runs stage by stage; the summary names the stage where the tile is blocked.
Check chain for FTProduct-display with the stages launchpad, catalog, role, target mapping, start authorization, tile on a page and OData service
Without the backend service: what the launchpad client knows is checked; role and start authorization stay open.
  1. Check starts the chain for the intent entered.
  2. The summary, here: no obstacle found in the launchpad client.
  3. Stages that need PFCG or SU53 data are marked Backend service only – the browser does not guess.
StageWhere the answer comes from
Launchpadlaunchpad in the page, with platform and client
Catalog / contentthe user’s content in the launchpad
Role (PFCG)backend service only
Target mappingthe launchpad’s resolution: app ID, component, URL
Start authorization (S_SERVICE, /UI2/…)backend service only
Tile on a pagethe user’s spaces and pages; warning if the app is in the catalog but on no page
OData servicethe app’s data sources against the OData recording

If a launchpad version does not expose some information, the stage is Unknown – never Blocked. Every query has a time limit of 10 s. The chain only runs on click; the launchpad may then load its own modules and page content, and if the target app is not running, FrontTailor reads its manifest.json once from the same origin. For a visible tile, the Launchpad inspector is the right tool.

Roles tab and backend service

What the browser cannot know – PFCG roles, catalogs of the role, start authorization – comes from the ABAP add-on /CDNA/FIORITAILOR, a read-only OData V4 service for S/4HANA on-premise and Private Cloud. The Roles tab switches it on per host.

  1. Open the app on the SAP system and the Roles tab in the panel.
  2. Switch on Use backend service. Only now does FrontTailor send any request to the service – with your browser session, on the same host.
  3. If the path differs from the default, enter it under Service path and click Apply.
  4. The state changes to Available; below are system, client, user, add-on, contract and whether you may check other users.
Roles tab with the backend service switched on, state Available, system FT1, client 100 and service URL
The test system’s backend service is available.
  1. Use backend service – only this switch is stored (and a different path), no answers, no users, no tokens.
  2. The service’s state.
  3. System, client, user, add-on, contract, Check other users and service URL.
  4. User: empty for your own user, otherwise another one.
StateMeaning
Offswitch off; FrontTailor sends nothing to the service.
AvailableThe service answers.
Not installedHTTP 404: add-on missing or SICF node inactive.
Not logged onno SAP session in this browser
No authorizationThe user lacks the role /CDNA/FT_USER.
Incompatibleunknown contract version: update the add-on or the extension

Without the service, FrontTailor works as before; the “Backend service only” stages stay open. When the service is available, Health also takes the ICF timeout from the system.

Role simulator: what does another user see?

  1. Enter the user in the User and roles card. Before sending, the tab warns that the check is logged in the application log.
  2. Click Show. Roles, catalogs, spaces, groups and reachable intents appear, each with the role that assigns it.
  3. Click a reachable intent to start the check chain for this user – or enter an intent below under Why don’t I see this tile?.
User and roles for KEYUSER with SLG1 note, two roles, one catalog, one space and one reachable intent
Simulation for the test user KEYUSER, logged in SLG1.
  1. The note before sending: checking another user is logged (SLG1, object /CDNA/FT).
  2. The log number after the check.
  3. The user’s roles.
  4. Reachable intents with filter and assigning role.
Check chain for KEYUSER: catalog and role blocked, target mapping OK, start authorization blocked with the missing S_SERVICE value
For KEYUSER the tile is blocked at the catalog; the start authorization is missing as well – field by field like SU53.
  1. Checked for – the simulated user.
  2. The summary: The tile is blocked at: Catalog / content.
  3. Start authorization with service and missing value, here S_SERVICE with SRV_NAME and SRV_TYPE.

For another user the backend answers catalog, role, target mapping and start authorization. Tile on a page and OData service only describe this browser’s user and stay Unknown in a simulation. For your own user, the Authorizations tab also uses the service once it is available.

Only users with the role /CDNA/FT_SIM (object /CDNA/SIM, activity 03) may check other users. The add-on writes every such check to SLG1 first – with caller, target user and intent or service. If it cannot save the entry, it refuses the check.

Typical problems

What you seeCause and fix
No findings despite errorsOData recording is off for the host. Without it the tab shows a note; the check chain keeps working.
The finding names no objectThe system’s message names none. SU53 or the authorization trace (STAUTHTRACE) shows which check failed.
Check chain: stage Launchpad blockedThe page is not a launchpad. Open the tab in the launchpad, not in the standalone app.
Roles tab: Not installedAdd-on missing, SICF node inactive or a different service path. See ABAP add-on.
Roles tab: other users not allowedYou lack the role /CDNA/FT_SIM.

See also

Sources on this page

The superscript numbers in the text point here. Tap one to see the source right where it is used; all sources of this website are listed on one page.

  1. 1

    Authorization diagnosis and tile check chain ↑Product · FrontTailor product documentation, ADR-025 “Authorization diagnosis” · checked on 2026-11-09

  2. 2

    Optional backend service (ABAP add-on) ↑Product · FrontTailor product documentation, ADR-032 “Backend service and role simulator” · checked on 2026-11-09

  3. 3

    Tickets in Jira, GitHub, GitLab, Azure DevOps and ServiceNow ↑Product · FrontTailor product documentation, ADR-031 “Ticket integrations” · checked on 2026-11-09

Frequently asked

Short answers.

How do I find out which authorization is missing in a Fiori app?
Trigger the failing action with the Authorizations tab open. The finding names object, field and value from the error message and the next steps, such as SU53 and /IWFND/ERROR_LOG.
Can I check what another user sees in the launchpad?
Yes, with the ABAP add-on in the Roles tab. You need the role /CDNA/FT_SIM, and every check is logged in SLG1. The add-on has not yet been tested on a real system.
Does FrontTailor send requests to the SAP system without the add-on?
No. As long as the Use backend service switch is off, not a single request goes to the service. Evaluating findings happens only in the browser.
Are user ids visible in the export?
No. Ids are masked (first and last character), exports contain the page URL without query and hash.

Your question isn’t here? Talk to me: +43 664 1964199 office@clouddna.at Get in touch

Contact

Ten tabs too many? Talk to us.

You buy Pro and Team right here. For Enterprise, sideloading, policies, a workshop or a stubborn bug in your Fiori landscape: write to me. I reply within one working day, personally.

Martin KochManaging Director, CloudDNAI read every request myself and reply personally.