Documentation ¶
Overview ¶
Package filter provides the definition of the filter interface. The LDAP search filter syntax according to RFC 4515 and RFC 2254 is supported. Addionally, a custom syntax is supported to allow more complex highly readable filters.
Index ¶
- func EscapeFilter(filter string) string
- func ReplaceAliases(in string) string
- type Alias
- func AndAlias() Alias
- func Attr() Alias
- func Band() Alias
- func Bor() Alias
- func Data() Alias
- func Dc() Alias
- func Disabled() Alias
- func Enabled() Alias
- func Expired() Alias
- func Group() Alias
- func Id() Alias
- func ListAliases() []Alias
- func Member_of() Alias
- func NotAlias() Alias
- func Not_expired() Alias
- func OrAlias() Alias
- func Recursive() Alias
- func User() Alias
- type Filter
- func And(property Filter, properties ...Filter) Filter
- func ByID(id string) Filter
- func HasExpired() Filter
- func IsDomainController() Filter
- func IsEnabled() Filter
- func IsGroup() Filter
- func IsUser() Filter
- func MemberOf(parent string, recursive bool) Filter
- func Not(property Filter) Filter
- func Or(property Filter, properties ...Filter) Filter
- func ParseRaw(raw string) (*Filter, error)
- type Kind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EscapeFilter ¶
EscapeFilter returns a string representation of a filter with escaped values according to RFC 4515
func ReplaceAliases ¶
ReplaceAliases replaces alias expressions in the input string
Types ¶
type Alias ¶
type Alias struct { // ID is the identifier of the alias ID string // Kind is the kind of the alias Kind Kind // Parameters are the parameters of the alias used for substitution Parameters []string // Substitution is the function used to substitute the alias Substitution func([]string) string }
Alias is used to define shortcuts for filters and matching rules
func Not_expired ¶
func Not_expired() Alias
type Filter ¶
type Filter struct { // Attribute is the attribute to filter on Attribute attributes.Attribute // Value is the value to filter for Value string // Rule is the matching rule bit mask to use Rule attributes.MatchingRule }
Filter is used to define an LDAP filter
func ByID ¶
ByID returns a filter that matches an object by its ID (CN, DN, GUID, SAN, UPN, Name or DisplayName)
func HasExpired ¶
func HasExpired() Filter
HasExpired returns a filter that matches an object that has expired
func IsDomainController ¶
func IsDomainController() Filter
IsDomainController returns a filter that matches a domain controller
func IsEnabled ¶
func IsEnabled() Filter
IsEnabled returns a filter that matches a not disabled user object
func (Filter) ExpandAlias ¶
ExpandAlias expands an filter to a filter by itself or its attribute alias
type Kind ¶
type Kind string
Kind is used to define the kind of an alias
const ( // FilterImplementation is the kind of an alias that is a custom filter implementation FilterImplementation Kind = "filter implementation" FilterComposition Kind = "filter composition" // MatchingRule is the kind of an alias that is a matching rule bit mask MatchingRule Kind = "matching rule" )