Class SamAccountNameRfc2247Mapper
- java.lang.Object
-
- net.sf.michaelo.tomcat.realm.mapper.SamAccountNameMapper
-
- net.sf.michaelo.tomcat.realm.mapper.SamAccountNameRfc2247Mapper
-
- All Implemented Interfaces:
UsernameSearchMapper
public class SamAccountNameRfc2247Mapper extends SamAccountNameMapper
A mapper for the AD attributesAMAccountName
and the realm. This mapper splits the GSS name in the primary and realm component. The instance component is completely ignored. The primary component is assigned to thesAMAccountName
and the realm is transformed to a search base according to RFC 2247. Moreover, this implementation mimicsDsCrackNames
withformatOffered
set toDS_USER_PRINCIPAL_NAME
andformatDesired
set toDS_FQDN_1779_NAME
. Verified against Samba's implementation ofDsCrackNames
.Note: This mapper requires to operate from the
RootDSE
of a domain controller or better yet, a GC. No root DN normalization (stripping DC components) happens here (yet).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.michaelo.tomcat.realm.mapper.SamAccountNameMapper
SamAccountNameMapper.SamAccountNameMappedValues
-
Nested classes/interfaces inherited from interface net.sf.michaelo.tomcat.realm.mapper.UsernameSearchMapper
UsernameSearchMapper.MappedValues
-
-
Field Summary
Fields Modifier and Type Field Description protected static Oid
KRB5_NT_PRINCIPAL
-
Constructor Summary
Constructors Constructor Description SamAccountNameRfc2247Mapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Oid[]
getSupportedStringNameTypes()
Returns an array of name type OIDs which a mapper is able to map into AD search space.UsernameSearchMapper.MappedValues
map(DirContext context, GSSName gssName)
Maps a GSS name to AD search space parameters.boolean
supportsGssName(GSSName gssName)
Determines whether a mapper is able to map a given GSS name into AD search space.
-
-
-
Field Detail
-
KRB5_NT_PRINCIPAL
protected static final Oid KRB5_NT_PRINCIPAL
-
-
Method Detail
-
getSupportedStringNameTypes
public Oid[] getSupportedStringNameTypes()
Description copied from interface:UsernameSearchMapper
Returns an array of name type OIDs which a mapper is able to map into AD search space.- Returns:
- supported string name type OIDs
-
supportsGssName
public boolean supportsGssName(GSSName gssName)
Description copied from interface:UsernameSearchMapper
Determines whether a mapper is able to map a given GSS name into AD search space.- Parameters:
gssName
- the gssName to test- Returns:
- if this mapper is able to map a name,
false
otherwise
-
map
public UsernameSearchMapper.MappedValues map(DirContext context, GSSName gssName) throws NamingException
Description copied from interface:UsernameSearchMapper
Maps a GSS name to AD search space parameters. A mapper implementation must assure that the user can be found in the givencontext
when an approriate GSS name is presented. The implementor must be aware that the returned search base might need to be relativized to the root DN of the context.- Parameters:
context
- the search contextgssName
- the GSS name to be mapped- Returns:
- mapped values for user retrieval
- Throws:
NamingException
- if a context-related error has occured
-
-