public class CatalinaLdapDataSourceRealm
extends org.apache.catalina.realm.JNDIRealm
implements org.apache.catalina.Realm
<Realm
className="de.nikem.nest.tomcatrealms.ldapjdbc.LdapDataSourceRealm"
connectionName="ad001\z00084or"
connectionPassword="xxx"
authentication="simple"
connectionURL="ldaps://ad001.siemens.net:636/dc=ad001,dc=siemens,dc=net"
referrals="follow"
userSearch="(sAMAccountName={0})"
userBase="OU=Users,OU=_Central,OU=40DE000,OU=40DE,OU=RA006"
userSubtree="true"
dataSourceName="jdbc/shopfloor_local"
roleNameCol="role_name"
userCredCol="password"
userNameCol="user_name"
userRoleTable="v_user_role"
userTable=""USER""
/>
org.apache.catalina.realm.JNDIRealm.User| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
info |
protected static java.lang.String |
name |
adCompat, alternateURL, authentication, commonRole, connectionAttempt, connectionName, connectionPassword, connectionTimeout, connectionURL, context, contextFactory, DEREF_ALIASES, derefAliases, protocol, referrals, roleBase, roleBaseFormat, roleFormat, roleName, roleNested, roleSearch, roleSearchAsUser, roleSubtree, sizeLimit, spnegoDelegationQop, timeLimit, useDelegatedCredential, userBase, userPassword, userPattern, userPatternArray, userPatternFormatArray, userRoleAttribute, userRoleName, userSearch, userSearchFormat, userSubtreeallRolesMode, container, containerLog, realmPath, sm, stripRealmForGss, support, validate, x509UsernameRetriever, x509UsernameRetrieverClassNameAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT| Constructor and Description |
|---|
CatalinaLdapDataSourceRealm() |
| Modifier and Type | Method and Description |
|---|---|
java.security.Principal |
authenticate(java.lang.String username,
java.lang.String credentials) |
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] |
findSecurityConstraints(org.apache.catalina.connector.Request request,
org.apache.catalina.Context context) |
java.lang.String |
getDataSourceName() |
org.apache.catalina.realm.DataSourceRealm |
getDataSourceRealm() |
java.lang.String |
getRoleNameCol()
Return the column in the user role table that names a role.
|
protected java.util.List<java.lang.String> |
getRoles(javax.naming.directory.DirContext context,
org.apache.catalina.realm.JNDIRealm.User user)
Return a List of roles associated with the given User.
|
java.lang.String |
getUserCredCol() |
java.lang.String |
getUserNameCol()
Return the column in the user table that holds the user's name.
|
java.lang.String |
getUserRoleTable()
Return the table that holds the relation between user's and roles.
|
java.lang.String |
getUserTable()
Return the table that holds user data..
|
boolean |
hasResourcePermission(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response,
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] constraints,
org.apache.catalina.Context context) |
boolean |
hasRole(org.apache.catalina.Wrapper wrapper,
java.security.Principal principal,
java.lang.String role) |
boolean |
hasUserDataPermission(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response,
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] constraints) |
protected void |
initInternal() |
void |
setAllRolesMode(java.lang.String allRolesMode)
Set the all roles mode.
|
void |
setContainer(org.apache.catalina.Container container) |
void |
setDataSourceName(java.lang.String dataSourceName)
Set the name of the JNDI JDBC DataSource.
|
void |
setRoleNameCol(java.lang.String roleNameCol)
Set the column in the user role table that names a role.
|
void |
setUserCredCol(java.lang.String userCredCol) |
void |
setUserNameCol(java.lang.String userNameCol)
Set the column in the user table that holds the user's name.
|
void |
setUserRoleTable(java.lang.String userRoleTable)
Set the table that holds the relation between user's and roles.
|
void |
setUserTable(java.lang.String userTable)
Set the table that holds user data.
|
protected void |
startInternal() |
authenticate, bindAsUser, checkCredentials, close, compareCredentials, doRFC2254Encoding, getAdCompat, getAlternateURL, getAuthentication, getCommonRole, getConnectionName, getConnectionPassword, getConnectionTimeout, getConnectionURL, getContextFactory, getDerefAliases, getDirectoryContextEnvironment, getDistinguishedName, getHostnameVerifier, getHostnameVerifierClassName, getName, getPassword, getPrincipal, getPrincipal, getPrincipal, getProtocol, getReferrals, getRoleBase, getRoleName, getRoleNested, getRoleSearch, getRoleSubtree, getSizeLimit, getSpnegoDelegationQop, getTimeLimit, getUser, getUser, getUser, getUserBase, getUserByPattern, getUserByPattern, getUserBySearch, getUserPassword, getUserPattern, getUserRoleAttribute, getUserRoleName, getUserSearch, getUserSubtree, getUseStartTls, isAvailable, isRoleSearchAsUser, isUseDelegatedCredential, isUserSearchAsUser, open, parseUserPatternString, release, setAdCompat, setAlternateURL, setAuthentication, setCipherSuites, setCommonRole, setConnectionName, setConnectionPassword, setConnectionTimeout, setConnectionURL, setContextFactory, setDerefAliases, setHostnameVerifierClassName, setProtocol, setReferrals, setRoleBase, setRoleName, setRoleNested, setRoleSearch, setRoleSearchAsUser, setRoleSubtree, setSizeLimit, setSpnegoDelegationQop, setSslProtocol, setSslSocketFactoryClassName, setTimeLimit, setUseDelegatedCredential, setUserBase, setUserPassword, setUserPattern, setUserRoleAttribute, setUserRoleName, setUserSearch, setUserSearchAsUser, setUserSubtree, setUseStartTls, stopInternaladdPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, backgroundProcess, Digest, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getRealmPath, getRealmSuffix, getRoles, getServer, getTransportGuaranteeRedirectStatus, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, isStripRealmForGss, main, removePropertyChangeListener, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setValidate, setX509UsernameRetrieverClassName, toStringdestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregisteraddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stopprotected static final java.lang.String info
protected static final java.lang.String name
protected void initInternal()
throws org.apache.catalina.LifecycleException
initInternal in class org.apache.catalina.realm.RealmBaseorg.apache.catalina.LifecycleExceptionprotected void startInternal()
throws org.apache.catalina.LifecycleException
startInternal in class org.apache.catalina.realm.JNDIRealmorg.apache.catalina.LifecycleExceptionpublic void setContainer(org.apache.catalina.Container container)
setContainer in interface org.apache.catalina.RealmsetContainer in class org.apache.catalina.realm.RealmBasepublic java.security.Principal authenticate(java.lang.String username,
java.lang.String credentials)
authenticate in interface org.apache.catalina.Realmauthenticate in class org.apache.catalina.realm.JNDIRealmpublic void setAllRolesMode(java.lang.String allRolesMode)
setAllRolesMode in class org.apache.catalina.realm.RealmBaseallRolesMode - authentication modepublic java.lang.String getUserTable()
JDBCRealm.getUserTable()public void setUserTable(java.lang.String userTable)
userTable - The table nameJDBCRealm.setUserTable(String)public java.lang.String getUserNameCol()
JDBCRealm.getUserNameCol()public void setUserNameCol(java.lang.String userNameCol)
userNameCol - The column nameJDBCRealm.setUserNameCol(String)public java.lang.String getUserRoleTable()
JDBCRealm.getUserRoleTable()public void setUserRoleTable(java.lang.String userRoleTable)
userRoleTable - The table nameJDBCRealm.setUserRoleTable(String)public java.lang.String getRoleNameCol()
JDBCRealm.getRoleNameCol()public void setRoleNameCol(java.lang.String roleNameCol)
roleNameCol - The column nameJDBCRealm.setRoleNameCol(String)public java.lang.String getUserCredCol()
DataSourceRealm.getUserCredCol()public void setUserCredCol(java.lang.String userCredCol)
userCredCol - the column in the user table that holds the user's credentials.DataSourceRealm.setUserCredCol(java.lang.String)public org.apache.tomcat.util.descriptor.web.SecurityConstraint[] findSecurityConstraints(org.apache.catalina.connector.Request request,
org.apache.catalina.Context context)
findSecurityConstraints in interface org.apache.catalina.RealmfindSecurityConstraints in class org.apache.catalina.realm.RealmBasepublic boolean hasUserDataPermission(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response,
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] constraints)
throws java.io.IOException
hasUserDataPermission in interface org.apache.catalina.RealmhasUserDataPermission in class org.apache.catalina.realm.RealmBasejava.io.IOExceptionpublic boolean hasResourcePermission(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response,
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] constraints,
org.apache.catalina.Context context)
throws java.io.IOException
hasResourcePermission in interface org.apache.catalina.RealmhasResourcePermission in class org.apache.catalina.realm.RealmBasejava.io.IOExceptionpublic boolean hasRole(org.apache.catalina.Wrapper wrapper,
java.security.Principal principal,
java.lang.String role)
hasRole in interface org.apache.catalina.RealmhasRole in class org.apache.catalina.realm.RealmBaseprotected java.util.List<java.lang.String> getRoles(javax.naming.directory.DirContext context,
org.apache.catalina.realm.JNDIRealm.User user)
getRoles in class org.apache.catalina.realm.JNDIRealmcontext - unused. JDBC does not need this field.user - The User to be checkedJNDIRealm.getRoles(DirContext, User),
JDBCRealm.getRoles(String)public java.lang.String getDataSourceName()
public void setDataSourceName(java.lang.String dataSourceName)
dataSourceName - the name of the JNDI JDBC DataSourcepublic org.apache.catalina.realm.DataSourceRealm getDataSourceRealm()