YOU ARE CURRENTLY ACCESSING AN OUTDATED VERSION OF THE ZOOLA HELP DOCUMENTATION

Go to https://help.zoola.io for up-to-date documentation, videos, walkthroughs, and case studies.




Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 5 Current »

 

A profile attribute is a name-value pair associated with a user account. It is ordinarily used to extend the object's standard access grants, but it has other uses as well. 

For example, this Groovy expression tests users for the "Cities" access grant in the "store city" field in the "store" table:
 

<filterExpression>store.store_city in (groovy('authentication.getPrincipal ().getAttributes().find{ it.attrName == "Cities" }.attrValue.split(",").collect {"''" + it + "''" }.join(",").replaceFirst("^''","").replaceFirst("''\$","")')) </filterExpression >

 


Using profile attributes enables you to obtain similar results with simpler expressions. The example below uses a principal expression to find all users with the "Cities" profile attribute, then it uses a filter expression to grant access only to the users among them whose "Cities" profile attribute is San Francisco:

<resourceAccessGrant id="Jointree_1_row_access_grant_2"> <principalExpression> <![CDATA[authentication.getPrincipal().getAttributes().any{it.getAttrName() in ['Cities'] &&it.getAttrValue() in ['San Francisco'] }]]> </principalExpression> <filterExpression>store.store_city in ('San Francisco')</filterExpression> </resourceAccessGrant>

 

 


  • No labels