You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Shawn McKinney (Jira)" <ji...@apache.org> on 2023/09/04 18:16:00 UTC

[jira] [Created] (FC-325) Research LDAP Transactions

Shawn McKinney created FC-325:
---------------------------------

             Summary: Research LDAP Transactions
                 Key: FC-325
                 URL: https://issues.apache.org/jira/browse/FC-325
             Project: FORTRESS
          Issue Type: Improvement
    Affects Versions: 3.0.0
            Reporter: Shawn McKinney


The need can be made by looking at the code. Perhaps the biggest (worst) example is when deleting a role. In RBAC, the role binds the user with the permission. It necessarily has relationships in the data model. Hier data storage means the DAO must remove the relationships before removing the entity. This is done via code. (No automatic ways of doing this as in relational models)

So, if something goes wrong, there is no way of rolling back the list of items that were changed (before the fault). 

This can be fixed by using transactions. Both OpenLDAP and Apache DS support them (to some extent). Here will be details of the research. Eventually, a proposed design will be shared.

Code Example(antipattern):

- [AdminMgrImpl.deleteRole](https://github.com/apache/directory-fortress-core/blob/master/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java#L295)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org