Then an admin has full control over what applications a
user can see in the listing.
What I now ended up with is modifying the application.ftl
in a custom theme
that explicitly excludes clients with no role mappings for
the current user
(+ the account client itself).
<#list applications.applications as application>
<#-- filters out "account" app & anything
that the user doesn't have an explicitly defined role in.
-->
<#if application.client.clientId != 'account'
&&
application.resourceRolesAvailable[application.client.clientId]?has_content>
//render account
</#if>
</#list>
Here are some of my experiments that describe the default
behaviour of the
"Full Scope Allowed" Setting in combination with the
application listing in the account page.
Scenario 1)
client role Full Scope Allowed
client-a "user-role-a" "on"
client-b "user-role-b" "on"
user roles
user-a client-a: user-role-a
user-b client-b: user-role-b
On account/applications page
user applications with access
user-a account (full access), client-a (full access),
client-b (full access)
user-b account (full access), client-a (full access),
client-b (full access)
---
Scenario 2)
client role Full Scope Allowed
client-a "user-role-a" "off"
client-b "user-role-a" "on"
user roles
user-a client-a: user-role-a
user-b client-b: user-role-b
On account/applications page
user applications with access
user-a account (full access), client-a (full access),
client-b (full access)
user-b account (full access), client-b (full access)
---
Scenario 3)
client role Full Scope Allowed
client-a "user-role-a" "on"
client-b "user-role-b" "off"
user roles
user-a client-a: user-role-a
user-b client-b: user-role-b
On account/applications page
user applications with access
user-a account (full access), client-a (full access)
user-b account (full access), client-a (full access),
client-b (full access)
-> user-a sees only the application he has acces to
-> user-b sees however also sees client-a although he
doesn't have a role mapping for client-a
---
Scenario 4)
client role Full Scope Allowed
client-a "user-role-a" "off"
client-b "user-role-b" "off"
user roles
user-a client-a: user-role-a
user-b client-b: user-role-b
On account/applications page
user applications with access
user-a account (full access), client-a (full access)
user-b account (full access), client-b (full access)
-> User only sees the applications for which he has
roles
---
Scenario 5) introduced a common client...
client role Full Scope Allowed
client-a "user-role-a" "off"
client-b "user-role-b" "off"
client-c "user-role-c" "on"
user roles
user-a client-a: user-role-a, client-c: user-role-c
user-b client-b: user-role-b
On account/applications page
user applications with access
user-a account (full access), client-a (full access),
client-c (full access)
user-b account (full access), client-b (full access),
client-c (full access)
-> user-a sees only the applications he has a role for
or access to: client-a, client-c
-> user-a sees client-c for which he doesn't have a role
mapping
Cheers,
Thomas