Francesco Chicchiriccò created SYNCOPE-249:
----------------------------------------------

             Summary: Implement RoleOwnerSchema for role propagation and 
synchronization
                 Key: SYNCOPE-249
                 URL: https://issues.apache.org/jira/browse/SYNCOPE-249
             Project: Syncope
          Issue Type: Improvement
    Affects Versions: 1.1.0
            Reporter: Francesco Chicchiriccò
             Fix For: 1.1.0


SYNCOPE-225 introduced the concept of role owner, than could be either a user 
or another role (not both at the same time).

Test content provides an example of how role owner can be propagated by 
empowering a derived attribute (ownerDN): this approach is working only for 
propagation and makes the AccountLink expression duplicated.

A more complete approach is to define a new type of internal mapping, 
RoleOwnerSchema.

During role propagation (in MappingUtil.getIntValues()):
 * if userOwner != null and the propagating resource has UMapping defined
 * if roleOwner != null (the propagating resource has RMapping because of the 
ongoing propagation)
the AccountLink (or AccountId if no AccountLink is defined) is generated and 
given as value for the external attribute mapped to RoleOwnerSchema

During role synchronization (in 
ConnObjectUtil.getAttributableTOFromConnObject()), if a value is present in the 
ConnectorObject for the role being synchronized, this value must be used for 
searching the same connector for either ObjectClass.ACCOUNT and 
ObjectClass.GROUP; if a unique match is found, the matching ConnectorObject can 
be used to find the corresponding Syncope entity (user or role); now userOwner 
or roleOwner of the role being synchronized can be set.

Especially in case of roleOwner, precedence issues must be taken into account: 
it might happen, in fact, that the owned role is being synchronized before the 
owner role synchronization takes place.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to