plg_backend_ldap

package
v0.0.0-...-bec2cf3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LDAPAttribute map[string]*FormElement = map[string]*FormElement{}/* 1179 elements not displayed */
View Source
var LDAPCache AppCache
View Source
var Schema map[string]*LDAPSchema = map[string]*LDAPSchema{

	"top": &LDAPSchema{
		Description: "Top of the superclass chain - RFC2256",
		Type:        "ABSTRACT",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{},
		Required:    []string{"objectClass"},
		Optional:    []string{},
	},
	"alias": &LDAPSchema{
		Description: "An alias - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"aliasedObjectName"},
		Optional:    []string{},
	},
	"country": &LDAPSchema{
		Description: "A country - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: true,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"c"},
		Optional:    []string{"searchGuide", "description"},
	},
	"locality": &LDAPSchema{
		Description: "A locality - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"street", "seeAlso", "searchGuide", "st", "l", "description"},
	},
	"organization": &LDAPSchema{
		Description: "An organization - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: true,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"o"},
		Optional:    []string{"userPassword", "searchGuide", "seeAlso", "businessCategory", "x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "st", "l", "description"},
	},
	"organizationalUnit": &LDAPSchema{
		Description: "An organizational unit - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: true,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"ou"},
		Optional:    []string{"userPassword", "searchGuide", "seeAlso", "businessCategory", "x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "st", "l", "description"},
	},
	"person": &LDAPSchema{
		Description: "A person - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"sn", "cn"},
		Optional:    []string{"userPassword", "telephoneNumber", "seeAlso", "description"},
	},
	"organizationalPerson": &LDAPSchema{
		Description: "An organizational person - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"person"},
		Required:    []string{},
		Optional:    []string{"title", "x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "ou", "st", "l"},
	},
	"organizationalRole": &LDAPSchema{
		Description: "An organizational role - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "seeAlso", "roleOccupant", "preferredDeliveryMethod", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "ou", "st", "l", "description"},
	},
	"groupOfNames": &LDAPSchema{
		Description: "A group of names (DNs) - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"member", "cn"},
		Optional:    []string{"businessCategory", "seeAlso", "owner", "ou", "o", "description"},
	},
	"residentialPerson": &LDAPSchema{
		Description: "An residential person - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"person"},
		Required:    []string{"l"},
		Optional:    []string{"businessCategory", "x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "preferredDeliveryMethod", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "st", "l"},
	},
	"applicationProcess": &LDAPSchema{
		Description: "An application process - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"seeAlso", "ou", "l", "description"},
	},
	"applicationEntity": &LDAPSchema{
		Description: "An application entity - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"presentationAddress", "cn"},
		Optional:    []string{"supportedApplicationContext", "seeAlso", "ou", "o", "l", "description"},
	},
	"dSA": &LDAPSchema{
		Description: "A directory system agent (a server) - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"applicationEntity STRUCTURAL"},
		Required:    []string{},
		Optional:    []string{"knowledgeInformation"},
	},
	"device": &LDAPSchema{
		Description: "A device - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"serialNumber", "seeAlso", "owner", "ou", "o", "l", "description"},
	},
	"strongAuthenticationUser": &LDAPSchema{
		Description: "A strong authentication user - RFC2256",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"userCertificate"},
		Optional:    []string{},
	},
	"certificationAuthority": &LDAPSchema{
		Description: "A certificate authority - RFC2256",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"authorityRevocationList", "certificateRevocationList", ""},
		Optional:    []string{"crossCertificatePair"},
	},
	"groupOfUniqueNames": &LDAPSchema{
		Description: "A group of unique names (DN and Unique Identifier) - RFC2256",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"uniqueMember", "cn"},
		Optional:    []string{"businessCategory", "seeAlso", "owner", "ou", "o", "description"},
	},
	"userSecurityInformation": &LDAPSchema{
		Description: "A user security information - RFC2256",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"supportedAlgorithms"},
	},
	"certificationAuthority-V2": &LDAPSchema{
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"certificationAuthority"},
		Required:    []string{},
		Optional:    []string{"deltaRevocationList"},
	},
	"cRLDistributionPoint": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"certificateRevocationList", "authorityRevocationList", "deltaRevocationList"},
	},
	"dmd": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"dmdName"},
		Optional:    []string{"userPassword", "searchGuide", "seeAlso", "businessCategory", "x121Address", "registeredAddress", "destinationIndicator", "preferredDeliveryMethod", "telexNumber", "teletexTerminalIdentifier", "telephoneNumber", "internationaliSDNNumber", "facsimileTelephoneNumber", "street", "postOfficeBox", "postalCode", "postalAddress", "physicalDeliveryOfficeName", "st", "l", "description"},
	},
	"pkiUser": &LDAPSchema{
		Description: "A PKI user - RFC2587",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"userCertificate"},
	},
	"pkiCA": &LDAPSchema{
		Description: "PKI certificate authority - RFC2587",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"authorityRevocationList", "certificateRevocationList", "cACertificate", "crossCertificatePair"},
	},
	"deltaCRL": &LDAPSchema{
		Description: "PKI user - RFC2587",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"deltaRevocationList"},
	},
	"labeledURIObject": &LDAPSchema{
		Description: "Object that contains the URI attribute type - RFC2079",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"labeledURI"},
	},
	"simpleSecurityObject": &LDAPSchema{
		Description: "Simple security object - RFC1274",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"userPassword"},
		Optional:    []string{},
	},
	"dcObject": &LDAPSchema{
		Description: "Domain component object - RFC2247",
		Type:        "AUXILIARY",
		IsContainer: true,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"dc"},
		Optional:    []string{},
	},
	"uidObject": &LDAPSchema{
		Description: "Uid object - RFC2377",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"uid"},
		Optional:    []string{},
	},

	"inetOrgPerson": &LDAPSchema{
		Description: "Internet Organizational Person - RFC2798",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"organizationalPerson"},
		Required:    []string{},
		Optional:    []string{"audio", "businessCategory", "carLicense", "departmentNumber", "displayName", "employeeNumber", "employeeType", "givenName", "homePhone", "homePostalAddress", "initials", "jpegPhoto", "labeledURI", "mail", "manager", "mobile", "o", "pager", "photo", "roomNumber", "secretary", "uid", "userCertificate", "x500uniqueIdentifier", "preferredLanguage", "userSMIMECertificate", "userPKCS12"},
	},

	"corbaContainer": &LDAPSchema{
		Description: "Container for a CORBA object",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{},
	},
	"corbaObject": &LDAPSchema{
		Description: "CORBA object representation",
		Type:        "ABSTRACT",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"corbaRepositoryId", "description"},
	},
	"corbaObjectReference": &LDAPSchema{
		Description: "CORBA interoperable object reference",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"corbaObject"},
		Required:    []string{"corbaIor"},
		Optional:    []string{},
	},

	"pilotObject": &LDAPSchema{
		Description: "Pilot object - RFC1274",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"info", "photo", "manager", "uniqueIdentifier", "lastModifiedTime", "lastModifiedBy", "dITRedirect", "audio"},
	},
	"pilotPerson": &LDAPSchema{
		Description: "The PilotPerson object class is used as a sub-class of person, to allow the use of a number of additional attributes to be assigned to entries of object class person",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"person"},
		Required:    []string{},
		Optional:    []string{"userid", "textEncodedORAddress", "rfc822Mailbox", "favouriteDrink", "roomNumber", "userClass", "homeTelephoneNumber", "homePostalAddress", "secretary", "personalTitle", "preferredDeliveryMethod", "businessCategory", "janetMailbox", "otherMailbox", "mobileTelephoneNumber", "pagerTelephoneNumber", "organizationalStatus", "mailPreferenceOption", "personalSignature"},
	},
	"newPilotPerson": &LDAPSchema{
		Description: "The PilotPerson object class is used as a sub-class of person, to allow the use of a number of additional attributes to be assigned to entries of object class person",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"person"},
		Required:    []string{},
		Optional:    []string{"userid", "textEncodedORAddress", "rfc822Mailbox", "favouriteDrink", "roomNumber", "userClass", "homeTelephoneNumber", "homePostalAddress", "secretary", "personalTitle", "preferredDeliveryMethod", "businessCategory", "janetMailbox", "otherMailbox", "mobileTelephoneNumber", "pagerTelephoneNumber", "organizationalStatus", "mailPreferenceOption", "personalSignature"},
	},
	"account": &LDAPSchema{
		Description: "The Account object class is used to define entries representing computer accounts.  The userid attribute should be used for naming entries of this object class.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"userid"},
		Optional:    []string{"description", "seeAlso", "localityName", "organizationName", "organizationalUnitName", "host"},
	},
	"document": &LDAPSchema{
		Description: "The Document object class is used to define entries which represent documents.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"documentIdentifier"},
		Optional:    []string{"commonName", "description", "seeAlso", "localityName", "organizationName", "organizationalUnitName", "documentTitle", "documentVersion", "documentAuthor", "documentLocation", "documentPublisher"},
	},
	"room": &LDAPSchema{
		Description: "The Room object class is used to define entries representing rooms. The commonName attribute should be used for naming pentries of this object class.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"commonName"},
		Optional:    []string{"roomNumber", "description", "seeAlso", "telephoneNumber"},
	},
	"documentSeries": &LDAPSchema{
		Description: "The Document Series object class is used to define an entry which represents a series of documents (e.g., The Request For Comments papers).",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"commonName"},
		Optional:    []string{"description", "seeAlso", "telephonenumber", "localityName", "organizationName", "organizationalUnitName"},
	},
	"domain": &LDAPSchema{
		Description: "The Domain object class is used to define entries which represent DNS or NRS domains.  The domainComponent attribute should be used for naming entries of this object class.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"domainComponent"},
		Optional:    []string{"associatedName", "organizationName", "description", "businessCategory", "seeAlso", "searchGuide", "userPassword", "localityName", "stateOrProvinceName", "streetAddress", "physicalDeliveryOfficeName", "postalAddress", "postalCode", "postOfficeBox", "streetAddress", "facsimileTelephoneNumber", "internationalISDNNumber", "telephoneNumber", "teletexTerminalIdentifier", "telexNumber", "preferredDeliveryMethod", "destinationIndicator", "registeredAddress", "x121Address"},
	},
	"RFC822localPart": &LDAPSchema{
		Description: "The RFC822 Local Part object class is used to define entries which represent the local part of RFC822 mail addresses.  This treats this part of an RFC822 address as a domain.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"domain"},
		Required:    []string{},
		Optional:    []string{"commonName", "surname", "description", "seeAlso", "telephoneNumber", "physicalDeliveryOfficeName", "postalAddress", "postalCode", "postOfficeBox", "streetAddress", "facsimileTelephoneNumber", "internationalISDNNumber", "telephoneNumber", "teletexTerminalIdentifier", "telexNumber", "preferredDeliveryMethod", "destinationIndicator", "registeredAddress", "x121Address"},
	},
	"dNSDomain": &LDAPSchema{
		Description: "The DNS Domain (Domain NameServer) object class is used to define entries for DNS domains.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"domain"},
		Required:    []string{},
		Optional:    []string{"ARecord", "MDRecord", "MXRecord", "NSRecord", "SOARecord", "CNAMERecord"},
	},
	"domainRelatedObject": &LDAPSchema{
		Description: "An object related to an domain - RFC1274. The Domain Related Object object class is used to define entries which represent DNS/NRS domains which are \"equivalent\" to an X.500 domain: e.g., an organisation or organisational unit",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"associatedDomain"},
		Optional:    []string{},
	},
	"friendlyCountry": &LDAPSchema{
		Description: "The Friendly Country object class is used to define country entries in the DIT.  The object class is used to allow friendlier naming of countries than that allowed by the object class country.  The naming attribute of object class country, countryName, has to be a 2 letter string defined in ISO 3166.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"country"},
		Required:    []string{"friendlyCountryName"},
		Optional:    []string{},
	},
	"pilotOrganization": &LDAPSchema{
		Description: "The PilotOrganization object class is used as a sub-class of organization and organizationalUnit to allow a number of additional attributes to be assigned to entries of object classes organization and organizationalUnit.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"organization", "organizationalUnit"},
		Required:    []string{},
		Optional:    []string{"buildingName"},
	},
	"pilotDSA": &LDAPSchema{
		Description: "The PilotDSA object class is used as a sub-class of the dsa object class to allow additional attributes to be assigned to entries for DSAs.",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"dsa"},
		Required:    []string{},
		Optional:    []string{"dSAQuality"},
	},
	"qualityLabelledData": &LDAPSchema{
		Description: "The Quality Labelled Data object class is used to allow the ssignment of the data quality attributes to subtrees in the DIT",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"dsaQuality"},
		Optional:    []string{"subtreeMinimumQuality", "subtreeMaximumQuality"},
	},

	"DUAConfigProfile": &LDAPSchema{
		Description: "Abstraction of a base configuration for a DUA",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"defaultServerList", "preferredServerList", "defaultSearchBase", "defaultSearchScope", "searchTimeLimit", "bindTimeLimit", "credentialLevel", "authenticationMethod", "followReferrals", "dereferenceAliases", "serviceSearchDescriptor", "serviceCredentialLevel", "serviceAuthenticationMethod", "objectclassMap", "attributeMap", "profileTTL"},
	},

	"groupOfURLs": &LDAPSchema{
		Description: "undefined",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"memberURL", "businessCategory", "description", "o", "ou", "owner", "seeAlso"},
	},
	"dgIdentityAux": &LDAPSchema{
		Description: "undefined",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"dgIdentity", "dgAuthz"},
	},

	"javaContainer": &LDAPSchema{
		Description: "Container for a Java object",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{},
	},
	"javaObject": &LDAPSchema{
		Description: "Java object representation",
		Type:        "ABSTRACT",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"javaClassName"},
		Optional:    []string{"javaClassNames", "javaCodebase", "javaDoc", "description"},
	},
	"javaSerializedObject": &LDAPSchema{
		Description: "Java serialized object",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"javaObject"},
		Required:    []string{"javaSerializedData"},
		Optional:    []string{},
	},
	"javaMarshalledObject": &LDAPSchema{
		Description: "Java marshalled object",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"javaObject"},
		Required:    []string{"javaSerializedData"},
		Optional:    []string{},
	},
	"javaNamingReference": &LDAPSchema{
		Description: "JNDI reference",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"javaObject"},
		Required:    []string{},
		Optional:    []string{"javaReferenceAddress", "javaFactory"},
	},

	"inetLocalMailRecipient": &LDAPSchema{
		Description: "Internet local mail recipient",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{},
	},
	"nisMailAlias": &LDAPSchema{
		Description: "NIS mail alias",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
	},

	"mstop": &LDAPSchema{
		Type:        "ABSTRACT",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"objectClass", "instanceType", "nTSecurityDescriptor", "objectCategory"},
		Optional:    []string{"cn", "description", "distinguishedName", "whenCreated", "whenChanged", "subRefs", "displayName", "uSNCreated", "isDeleted", "dSASignature", "objectVersion", "repsTo", "repsFrom", "memberOf", "ownerBL", "uSNChanged", "uSNLastObjRem", "showInAdvancedViewOnly", "adminDisplayName", "proxyAddresses", "adminDescription", "extensionName", "uSNDSALastObjRemoved", "displayNamePrintable", "directReports", "wWWHomePage", "USNIntersite", "name", "objectGUID", "replPropertyMetaData", "replUpToDateVector", "flags", "revision", "wbemPath", "fSMORoleOwner", "systemFlags", "siteObjectBL", "serverReferenceBL", "nonSecurityMemberBL", "queryPolicyBL", "wellKnownObjects", "isPrivilegeHolder", "partialAttributeSet", "managedObjects", "partialAttributeDeletionList", "url", "lastKnownParent", "bridgeheadServerListBL", "netbootSCPBL", "isCriticalSystemObject", "frsComputerReferenceBL", "fRSMemberReferenceBL", "uSNSource", "fromEntry", "allowedChildClasses", "allowedChildClassesEffective", "allowedAttributes", "allowedAttributesEffective", "possibleInferiors", "canonicalName", "proxiedObjectName", "sDRightsEffective", "dSCorePropagationData", "otherWellKnownObjects", "mS-DS-ConsistencyGuid", "mS-DS-ConsistencyChildCount", "masteredBy", "msCOM-PartitionSetLink", "msCOM-UserLink", "msDS-Approx-Immed-Subordinates", "msDS-NCReplCursors", "msDS-NCReplInboundNeighbors", "msDS-NCReplOutboundNeighbors", "msDS-ReplAttributeMetaData", "msDS-ReplValueMetaData", "msDS-NonMembersBL", "msDS-MembersForAzRoleBL", "msDS-OperationsForAzTaskBL", "msDS-TasksForAzTaskBL", "msDS-OperationsForAzRoleBL", "msDS-TasksForAzRoleBL", "msDs-masteredBy", "msDS-ObjectReferenceBL", "msDS-PrincipalName", "msDS-RevealedDSAs", "msDS-KrbTgtLinkBl", "msDS-IsFullReplicaFor", "msDS-IsDomainFor", "msDS-IsPartialReplicaFor", "msDS-AuthenticatedToAccountlist", "msDS-NC-RO-Replica-Locations-BL", "msDS-RevealedListBL", "msDS-PSOApplied", "msDS-NcType", "msDS-OIDToGroupLinkBl", "msDS-HostServiceAccountBL", "isRecycled", "msDS-LocalEffectiveDeletionTime", "msDS-LocalEffectiveRecycleTime", "msDS-LastKnownRDN", "msDS-EnabledFeatureBL", "msDS-ClaimSharesPossibleValuesWithBL", "msDS-MembersOfResourcePropertyListBL", "msDS-IsPrimaryComputerFor", "msDS-ValueTypeReferenceBL", "msDS-TDOIngressBL", "msDS-TDOEgressBL", "msDS-parentdistname", "msDS-ReplValueMetaDataExt", "msds-memberOfTransitive", "msds-memberTransitive", "msSFU30PosixMemberOf", "msDFSR-MemberReferenceBL", "msDFSR-ComputerReferenceBL"},
	},
	"group": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"mstop"},
		Required:    []string{"groupType"},
		Optional:    []string{"member", "nTGroupMembers", "operatorCount", "adminCount", "groupAttributes", "groupMembershipSAM", "controlAccessRights", "desktopProfile", "nonSecurityMember", "managedBy", "primaryGroupToken", "msDS-AzLDAPQuery", "msDS-NonMembers", "msDS-AzBizRule", "msDS-AzBizRuleLanguage", "msDS-AzLastImportedBizRulePath", "msDS-AzApplicationData", "msDS-AzObjectGuid", "msDS-AzGenericData", "msDS-PrimaryComputer", "mail", "msSFU30Name", "msSFU30NisDomain", "msSFU30PosixMember"},
	},
	"user": &LDAPSchema{
		Description: "undefined",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"mstop", "organizationalPerson"},
		Required:    []string{},
		Optional:    []string{"o", "businessCategory", "userCertificate", "givenName", "initials", "x500uniqueIdentifier", "displayName", "networkAddress", "employeeNumber", "employeeType", "homePostalAddress", "userAccountControl", "badPwdCount", "codePage", "homeDirectory", "homeDrive", "badPasswordTime", "lastLogoff", "lastLogon", "dBCSPwd", "localeID", "scriptPath", "logonHours", "logonWorkstation", "maxStorage", "userWorkstations", "unicodePwd", "otherLoginWorkstations", "ntPwdHistory", "pwdLastSet", "preferredOU", "primaryGroupID", "userParameters", "profilePath", "operatorCount", "adminCount", "accountExpires", "lmPwdHistory", "groupMembershipSAM", "logonCount", "controlAccessRights", "defaultClassStore", "groupsToIgnore", "groupPriority", "desktopProfile", "dynamicLDAPServer", "userPrincipalName", "lockoutTime", "userSharedFolder", "userSharedFolderOther", "servicePrincipalName", "aCSPolicyName", "terminalServer", "mSMQSignCertificates", "mSMQDigests", "mSMQDigestsMig", "mSMQSignCertificatesMig", "msNPAllowDialin", "msNPCallingStationID", "msNPSavedCallingStationID", "msRADIUSCallbackNumber", "msRADIUSFramedIPAddress", "msRADIUSFramedRoute", "msRADIUSServiceType", "msRASSavedCallbackNumber", "msRASSavedFramedIPAddress", "msRASSavedFramedRoute", "mS-DS-CreatorSID", "msCOM-UserPartitionSetLink", "msDS-Cached-Membership", "msDS-Cached-Membership-Time-Stamp", "msDS-Site-Affinity", "msDS-User-Account-Control-Computed", "lastLogonTimestamp", "msIIS-FTPRoot", "msIIS-FTPDir", "msDRM-IdentityCertificate", "msDS-SourceObjectDN", "msPKIRoamingTimeStamp", "msPKIDPAPIMasterKeys", "msPKIAccountCredentials", "msRADIUS-FramedInterfaceId", "msRADIUS-SavedFramedInterfaceId", "msRADIUS-FramedIpv6Prefix", "msRADIUS-SavedFramedIpv6Prefix", "msRADIUS-FramedIpv6Route", "msRADIUS-SavedFramedIpv6Route", "msDS-SecondaryKrbTgtNumber", "msDS-AuthenticatedAtDC", "msDS-SupportedEncryptionTypes", "msDS-LastSuccessfulInteractiveLogonTime", "msDS-LastFailedInteractiveLogonTime", "msDS-FailedInteractiveLogonCount", "msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon", "msTSProfilePath", "msTSHomeDirectory", "msTSHomeDrive", "msTSAllowLogon", "msTSRemoteControl", "msTSMaxDisconnectionTime", "msTSMaxConnectionTime", "msTSMaxIdleTime", "msTSReconnectionAction", "msTSBrokenConnectionAction", "msTSConnectClientDrives", "msTSConnectPrinterDrives", "msTSDefaultToMainPrinter", "msTSWorkDirectory", "msTSInitialProgram", "msTSProperty01", "msTSProperty02", "msTSExpireDate", "msTSLicenseVersion", "msTSManagingLS", "msDS-UserPasswordExpiryTimeComputed", "msTSExpireDate2", "msTSLicenseVersion2", "msTSManagingLS2", "msTSExpireDate3", "msTSLicenseVersion3", "msTSManagingLS3", "msTSExpireDate4", "msTSLicenseVersion4", "msTSManagingLS4", "msTSLSProperty01", "msTSLSProperty02", "msDS-ResultantPSO", "msPKI-CredentialRoamingTokens", "msTSPrimaryDesktop", "msTSSecondaryDesktops", "msDS-PrimaryComputer", "msDS-SyncServerUrl", "msDS-AssignedAuthNPolicySilo", "msDS-AuthNPolicySiloMembersBL", "msDS-AssignedAuthNPolicy", "userSMIMECertificate", "uid", "mail", "roomNumber", "photo", "manager", "homePhone", "secretary", "mobile", "pager", "audio", "jpegPhoto", "carLicense", "departmentNumber", "preferredLanguage", "userPKCS12", "labeledURI", "msSFU30Name", "msSFU30NisDomain"},
	},
	"container": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"mstop"},
		Required:    []string{"cn"},
		Optional:    []string{"schemaVersion", "defaultClassStore", "msDS-ObjectReference"},
	},
	"computer": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"user"},
		Required:    []string{},
		Optional:    []string{"cn", "networkAddress", "localPolicyFlags", "defaultLocalPolicyObject", "machineRole", "location", "netbootInitialization", "netbootGUID", "netbootMachineFilePath", "siteGUID", "operatingSystem", "operatingSystemVersion", "operatingSystemServicePack", "operatingSystemHotfix", "volumeCount", "physicalLocationObject", "dNSHostName", "policyReplicationFlags", "managedBy", "rIDSetReferences", "catalogs", "netbootSIFFile", "netbootMirrorDataFile", "msDS-AdditionalDnsHostName", "msDS-AdditionalSamAccountName", "msDS-ExecuteScriptPassword", "msDS-KrbTgtLink", "msDS-RevealedUsers", "msDS-NeverRevealGroup", "msDS-RevealOnDemandGroup", "msDS-RevealedList", "msDS-AuthenticatedAtDC", "msDS-isGC", "msDS-isRODC", "msDS-SiteName", "msDS-PromotionSettings", "msTPM-OwnerInformation", "msTSProperty01", "msTSProperty02", "msDS-IsUserCachableAtRodc", "msDS-HostServiceAccount", "msTSEndpointData", "msTSEndpointType", "msTSEndpointPlugin", "msTSPrimaryDesktopBL", "msTSSecondaryDesktopBL", "msTPM-TpmInformationForComputer", "msDS-GenerationId", "msImaging-ThumbprintHash", "msImaging-HashAlgorithm", "netbootDUID", "msSFU30Name", "msSFU30Aliases", "msSFU30NisDomain", "nisMapName"},
	},

	"posixAccount": &LDAPSchema{
		Description: "Abstraction of an account with POSIX attributes",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "uid", "uidNumber", "gidNumber", "homeDirectory"},
		Optional:    []string{"userPassword", "loginShell", "gecos", "description"},
	},
	"shadowAccount": &LDAPSchema{
		Description: "Additional attributes for shadow passwords",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"uid"},
		Optional:    []string{"userPassword", "shadowLastChange", "shadowMin", "shadowMax", "shadowWarning", "shadowInactive", "shadowExpire", "shadowFlag", "description"},
	},
	"posixGroup": &LDAPSchema{
		Description: "Abstraction of a group of accounts",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      false,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "gidNumber"},
		Optional:    []string{"userPassword", "memberUid", "description"},
	},
	"ipService": &LDAPSchema{
		Description: "Abstraction an Internet Protocol service",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "ipServicePort", "ipServiceProtocol"},
		Optional:    []string{"description"},
	},
	"ipProtocol": &LDAPSchema{
		Description: "Abstraction of an IP protocol",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "ipProtocolNumber", "description"},
		Optional:    []string{"description"},
	},
	"oncRpc": &LDAPSchema{
		Description: "Abstraction of an ONC/RPC binding",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "oncRpcNumber", "description"},
		Optional:    []string{"description"},
	},
	"ipHost": &LDAPSchema{
		Description: "Abstraction of a host, an IP device",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "ipHostNumber"},
		Optional:    []string{"l", "description", "manager"},
	},
	"ipNetwork": &LDAPSchema{
		Description: "Abstraction of an IP network",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "ipNetworkNumber"},
		Optional:    []string{"ipNetmaskNumber", "l", "description", "manager"},
	},
	"nisNetgroup": &LDAPSchema{
		Description: "Abstraction of a netgroup",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{"nisNetgroupTriple", "memberNisNetgroup", "description"},
	},
	"nisMap": &LDAPSchema{
		Description: "A generic abstraction of a NIS map",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"nisMapName"},
		Optional:    []string{"description"},
	},
	"nisObject": &LDAPSchema{
		Description: "An entry in a NIS map",
		Type:        "STRUCTURAL",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn", "nisMapEntry", "nisMapName"},
		Optional:    []string{"description"},
	},
	"ieee802Device": &LDAPSchema{
		Description: "A device with a MAC address",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"macAddress"},
	},
	"bootableDevice": &LDAPSchema{
		Description: "A device with boot parameters",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"bootFile", "bootParameter"},
	},

	"OpenLDAPorg": &LDAPSchema{
		Description: "OpenLDAP Organizational Object",
		Type:        "UNSPECIFIED",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"organization"},
		Required:    []string{},
		Optional:    []string{"buildingName", "displayName", "labeledURI"},
	},
	"OpenLDAPou": &LDAPSchema{
		Description: "OpenLDAP Organizational Unit Object",
		Type:        "UNSPECIFIED",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"organizationalUnit"},
		Required:    []string{},
		Optional:    []string{"buildingName", "displayName", "labeledURI", "o"},
	},
	"OpenLDAPperson": &LDAPSchema{
		Description: "OpenLDAP Person",
		Type:        "UNSPECIFIED",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{"pilotPerson", "inetOrgPerson"},
		Required:    []string{"uid", "cn"},
		Optional:    []string{"givenName", "labeledURI", "o"},
	},
	"OpenLDAPdisplayableObject": &LDAPSchema{
		Description: "OpenLDAP Displayable Object",
		Type:        "AUXILIARY",
		IsContainer: false,
		Silent:      true,
		Inherit:     []string{},
		Required:    []string{},
		Optional:    []string{"displayName"},
	},

	"nsContainer": &LDAPSchema{
		Description: "Container Entry",
		Type:        "UNSPECIFIED",
		IsContainer: true,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{"cn"},
		Optional:    []string{},
	},
	"aeZone": &LDAPSchema{
		Type:        "STRUCTURAL",
		IsContainer: true,
		Silent:      true,
		Inherit:     []string{"top"},
		Required:    []string{},
		Optional:    []string{"cn"},
	},
}

* The following is loading LDAP schema that was found on the openLDAP directory: * https://github.com/openldap/openldap/tree/master/servers/slapd/schema * As such, the source code in OpenLDAP says: * "Redistribution and use in source and binary forms, with or without modification, * are permitted only as authorized by the OpenLDAP Public License." * This license can be found: http://www.openldap.org/software/release/license.html * * It includes: core.schema, inetorgperson.schema, collective.schema, corba.schema, cosine.schema * duaconf.schema, dyngroup.schema, java.schema, misc.schema, msuser.schema, nis.schema, openldap.schema * pmi.schema, ppolicy.schema.

Functions

func FindDerivatedClasses

func FindDerivatedClasses(objectClass string) []string

func FindOptionalAttributesForObject

func FindOptionalAttributesForObject(objectClass string) []FormElement

func FindRequiredAttributesForObject

func FindRequiredAttributesForObject(objectClass string) []FormElement

func NewFormElementFromAttribute

func NewFormElementFromAttribute(attr string) FormElement

func NewFormElementFromAttributeWithValue

func NewFormElementFromAttributeWithValue(attr string, value string) FormElement

Types

type LDAP

type LDAP struct {
	// contains filtered or unexported fields
}

func (LDAP) Cat

func (this LDAP) Cat(path string) (io.ReadCloser, error)

func (LDAP) Init

func (this LDAP) Init(params map[string]string, app *App) (IBackend, error)

func (LDAP) LoginForm

func (this LDAP) LoginForm() Form

func (LDAP) Ls

func (this LDAP) Ls(path string) ([]os.FileInfo, error)

func (LDAP) Meta

func (this LDAP) Meta(path string) Metadata

func (LDAP) Mkdir

func (this LDAP) Mkdir(path string) error

func (LDAP) Mv

func (this LDAP) Mv(from string, to string) error

func (LDAP) Rm

func (this LDAP) Rm(path string) error

func (LDAP) Save

func (this LDAP) Save(path string, file io.Reader) error

func (LDAP) Touch

func (this LDAP) Touch(path string) error

type LDAPSchema

type LDAPSchema struct {
	IsContainer bool     // can be used as a folder to store more entry?
	Description string   // doc string coming from the schema
	Type        string   // AUXILIARY / STRUCTURAL or ABSTRACT
	Silent      bool     // show up (or not) as part of the client autocomplete
	Required    []string // required attributes
	Optional    []string // optional attributes
	Inherit     []string // class this schema inherits
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL