LDAP Tools/Schema

From Authentication Tools for Joomla! (JAuthTools)

< LDAP Tools
Revision as of 01:15, 18 May 2007 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Joomla! has an assigned enterprise number from IANA. This space is maintained by Samuel Moffatt. The aim of this is to provide extensions to LDAP to make it more friendly to Joomla! powered authentication and to provide extensions in future where they may be required.


Contents

Number allocation (1.3.6.1.4.1.27457)

Joomla! has been assigned the enterprise number 27457 within the space 1.3.6.1.4.1 and within this space the first entry, 1, is designated for Official Core use.

Official Joomla Schema (1.3.6.1.4.1.27457.1)

Officially supported Joomla! schemas are created within this space.

JoomlaGroup (1.3.6.1.4.1.27457.1.1)

Teh JoomlaGroup attribute is designated so that a JoomlaGroup attribute may be added to users easily that doesn't conflict with any other LDAP attribute.

# Joomla Group Attribute; free form text
attributetype ( 1.3.6.1.4.1.27457.1.1
        NAME 'JoomlaGroup'
        DESC 'Joomla: Group to belong to'
        EQUALITY caseIgnoreMatch
        SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

JoomlaUser (1.3.6.1.4.1.27457.1.2)

The JoomlaUser object class exists to enforce certain attributes for an entry to better integrate with Joomla.

# Joomla User Object Class
# Requires various elements
objectclass     ( 1.3.6.1.4.1.27457.1.2
    NAME 'JoomlaUser'
    DESC 'User of a Joomla instance'
    AUXILIARY
    MUST ( sn $ cn $ givenName $ JoomlaGroup $ uid $ mail )
    )

Full Schema

Copy this text into a file (e.g. joomla.schema) to include in your LDAP system (e.g. copy it to /etc/ldap/schema). If you are using OpenLDAP on Debian, creating the file /etc/ldap/schema/joomla.schema and adding:

include         /etc/ldap/schema/joomla.schema

to your /etc/ldap/slapd.conf file should work.

joomla.schema:

# Joomla Group Attribute; free form text
attributetype ( 1.3.6.1.4.1.27457.1.1
        NAME 'JoomlaGroup'
        DESC 'Joomla: Group to belong to'
        EQUALITY caseIgnoreMatch
        SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# Joomla User Object Class
# Requires various elements
objectclass     ( 1.3.6.1.4.1.27457.1.2
    NAME 'JoomlaUser'
    DESC 'User of a Joomla instance'
    AUXILIARY
    MUST ( sn $ cn $ givenName $ JoomlaGroup $ uid $ mail )
    )
Personal tools