powered by
Access Control List filter for security-aware search
acl_field
Metadata field containing ACLs
ACLFilter$new()
ACLFilter$filter()
ACLFilter$add_acl()
ACLFilter$create_filter_condition()
ACLFilter$clone()
new()
Create a new ACLFilter
ACLFilter$new(acl_field = "_acl")
Field name for ACLs (default: "_acl")
filter()
Filter documents based on user's ACL principals
ACLFilter$filter(documents, user_principals, default_allow = FALSE)
documents
List of documents with metadata
user_principals
Character vector or list of ACLPrincipal
default_allow
Allow if no ACL defined (default: FALSE)
Filtered documents
add_acl()
Add ACL to document metadata
ACLFilter$add_acl(metadata, principals)
metadata
Document metadata
principals
Character vector of principal strings
Updated metadata
create_filter_condition()
Create ACL filter condition for query
ACLFilter$create_filter_condition(user_principals)
Character vector of principals
Filter condition list
clone()
The objects of this class are cloneable with this method.
ACLFilter$clone(deep = FALSE)
deep
Whether to make a deep clone.
if (FALSE) { acl_filter <- ACLFilter$new() filtered <- acl_filter$filter( documents = results, user_principals = c("user:alice", "group:engineering") ) }
Run the code above in your browser using DataLab