Hi Vinay,
Please check our answers directly in your email for both the suggested
approach.
For any further request on this topic we kindly invite you to use the
[email protected] mailing list.
Thanks!
Best Regards,
Elena
On 2021/10/22 15:31:23, Vinay Kumar <[email protected]> wrote:
Hi Team,
We have a use case in our project where we need to inherit properties of a
business/organization to all of the users under that business account.
Is there a way in syncope on how we can implement this?
We are thinking of 2 designs mentioned below, please see and let me know if
the thought process is correct.
1. We are currently considering the design of treating a realm/sub-realm
each for a business and putting all users of that business/organization
under that realm/sub-realm and thinking of attaching a set of attributes.
to the realm so that they can be inherited to all the users under that
realm. Is that even possible?
[Elena] This approach is not feasible using only Realms, as they are not
intended for holding specific attributes to the belonging entities. It
could be possible, though, by using the Realms with the LogicTemplate,
which are classes that allow to define a logic during the create/update
phase: this logic, for instance, could add some specific attributes.
This approach would be recommended in case those properties are not
subject to change in time, as it would be difficult to maintain. For
more information regarding Realms and Logic Templates, please refer to
the specific section in the Apache Syncope Reference Guide:
http://syncope.apache.org/docs/reference-guide.html#realms////
2. As a plan-B, We are thinking of creating a Custom AnyObject Business
and add all the properties/attributes to that business object and associate
it to all the users under a realm to inherit the properties from a
business. Is that feasible?
[Elena] This is feasible by defining a custom "Business" Relationship
between the object User and an AnyObject, which we can call Business,
created in Syncope and associated to a specific AnyTypeClass which will
hold the specific business attributes you want the user to inherit.
Please also consider that you can achieve a similar result by using the
Syncope Group entity, having a Group containing all Users that need to
inherit those specific business attributes. Again, the last approach
recommendation strictly depends on the nature of your solution: if you
are already handling a large amount of Groups it may not be recommended.
Please let me know your thoughts.
Thanks in advance!
Regards,
Vinay