On 19/04/2013 09:34, Martin van Es wrote:
Hi Francesco,

On Fri, Apr 19, 2013 at 8:27 AM, Francesco Chicchiriccò <[email protected] <mailto:[email protected]>> wrote:

    On 18/04/2013 20:12, Martin van Es wrote:
    On Tue, Apr 16, 2013 at 2:37 PM, Francesco Chicchiriccò
    <[email protected] <mailto:[email protected]>> wrote:

        On 16/04/2013 14:26, Martin van Es wrote:

            I was wondering if it's possible to automatically
            provisioin certain resource for one account based on a
            condition (attribute) set in the source resource.

        Hi Martin,
        I've understood that you want to assign upon synchronization
        role A, B or C to users from a CSVDir resource where A has
        assigned a LDAP resource, B a DB resource and C both. Is this
        correct?

        If so, you need to define a SyncJobActionsClass [1] or
        SyncActionsClass [2]  (depending on the Syncope version you
        are running) and implement the logic "assign role A, B or C
        to synchronizing user" in the before() method.


    I was googling on syncope role membership and found this snippet
    on [1]
    > The possible implementations could be:
    > 1. I could ignore role/membership attribute mappings during 
synchronization (this is
    the current implementation ---> no issue to open)
    > 2. I can try to synchronize these information also:
    >        a. Role attribute mappings could be used to assign syncope roles 
dynamically during
    synchronization

    Example, again: let's suppose we are synchronizing an LDAP user user1
    with memberOf "cn=B,ou=groups,dc=tirasa,dc=net"; in this case Syncope
    will try to assign role B (i.e. Syncope role with same value of
    "membershipsOnLDAP") to Syncope user matching user1 on LDAP.
    This would match my question for conditional resources. Since you 
participated in this thread and it's more than a year old, can you tell me what 
the status of implementation 2 is? Is it completely off radar?

    Basically, with LDAP and Active Directory connectors, you can
    actually propagate / synchronize memberships from / to Syncope by
    empowering two specific action classes
    (LDAPMembershipPropagationActions and LDAPMembershipSyncActions),
    and a good schema mapping that will include both user and role
    mapping.

This is nog what I mean, the part of the thread I'm referring to is the example: By being member of "cn=B,ou=groups,dc=tirasa,dc=net", Syncope would try to assign role B to syncope user, based on the match in the role attribute membershipsOnLDAP. If this was implemented (and extended to a role attribute value in the synchronisation source e.g.) I would have a way of conditionally provision resources to users (by mapping resources to the matched role). I see your objections further in the discussion that it would be a very complicated logistic process managing all requirements of mandatory attributes following the role assignment, but in the simple case it would be a very handy way of conditionally propagating users to resources (not memberships on resources).

Nope: if this is what you are asking, I can only repeat my first answer above: implement this logic in a SyncActionsClass.

As said, LDAP is a very particular case, because of the extended capabilities of the associated connector.

Regards.

--
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/

Reply via email to