Patent ID: 8832774

Claim:
A method for dynamically managing role memberships, comprising: receiving a request to create or modify a role configuration, wherein the role configuration comprises one or more role filters and a logical statement defining a logical relationship of the one or more role filters to each other, wherein each role filter comprises an entity attribute and one or more values for the entity attribute, and each role filter is linked to a corresponding data source; validating the one or more role filters prior to saving the role configuration, wherein said validation comprises, for each particular role filter: verifying a connection to the corresponding data source linked to the particular role filter; and verifying that the corresponding data source linked to the particular role filter stores one or more possible values for the entity attribute of the particular role filter, wherein each of the possible values is associated with one or more entity names, and wherein if both verification steps are successful the particular role filter is validated, and wherein if one or both verification steps are unsuccessful the particular role filter is not validated; editing the logical statement that defines the logical relationship of the one or more role filters; and responsive to successfully validating all of the one or more role filters, saving the role configuration comprising the validated one or more role filters and the edited logical statement; receiving a request to verify whether a specific entity is a member of the role configuration, the request to verify comprising a role name associated with the role configuration and a specific entity name associated with the specific entity; retrieving the role configuration from a storage area; parsing the logical statement, and for each role filter in the logical statement, determining whether the specific entity name matches one of the entity names associated with the value of the entity attribute in the data source corresponding to the role filter; evaluating the logical statement by processing the determination of matching the specific entity name for each role filter according to the logical relationship; and determining whether the specific entity is a member of the role configuration based on the evaluation of the logical statement.