public class CatalinaLdapJdbcRealm
extends org.apache.catalina.realm.JNDIRealm
implements org.apache.catalina.Realm
<Realm className="org.apache.catalina.realm.LdapJdbcRealm"
connectionURL="ldap://ldaphost:389"
resourceName="LDAP Auth" driverName="oracle.jdbc.driver.OracleDriver"
userPattern="uid={0}, ou=Portal, dc=example, dc=com"
dbConnectionName="dbuser" dbConnectionPassword="dbpassword"
dbConnectionURL="jdbc:oracle:thin:@oracledb:1521:dbname"
userTable="users" userNameCol="user_id"
userRoleTable="user_role_xref" roleNameCol="role_id" />
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 |
|---|
CatalinaLdapJdbcRealm() |
| Modifier and Type | Method and Description |
|---|---|
org.apache.tomcat.util.descriptor.web.SecurityConstraint[] |
findSecurityConstraints(org.apache.catalina.connector.Request request,
org.apache.catalina.Context context) |
java.lang.String |
getDbConnectionName()
Return the username to use to connect to the database.
|
java.lang.String |
getDbConnectionPassword()
Return the password to use to connect to the database.
|
java.lang.String |
getDbConnectionURL()
Return the URL to use to connect to the database.
|
java.lang.String |
getDriverName()
Return the JDBC driver that will be used.
|
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 |
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) |
void |
setAllRolesMode(java.lang.String allRolesMode)
Set the all roles mode.
|
void |
setDbConnectionName(java.lang.String dbConnectionName)
Set the username to use to connect to the database.
|
void |
setDbConnectionPassword(java.lang.String dbConnectionPassword)
Set the password to use to connect to the database.
|
void |
setDbConnectionURL(java.lang.String dbConnectionURL)
Set the URL to use to connect to the database.
|
void |
setDriverName(java.lang.String driverName)
Set the JDBC driver that will be used.
|
void |
setRoleNameCol(java.lang.String roleNameCol)
Set the column in the user role table that names a role.
|
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.
|
authenticate, 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, startInternal, stopInternaladdPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, backgroundProcess, Digest, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getRealmPath, getRealmSuffix, getRoles, getServer, getTransportGuaranteeRedirectStatus, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, initInternal, isStripRealmForGss, main, removePropertyChangeListener, setContainer, 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
public void setAllRolesMode(java.lang.String allRolesMode)
setAllRolesMode in class org.apache.catalina.realm.RealmBaseallRolesMode - authentication modepublic java.lang.String getDbConnectionName()
JDBCRealm.getConnectionName()public void setDbConnectionName(java.lang.String dbConnectionName)
dbConnectionName - usernameJDBCRealm.setConnectionName(String)public java.lang.String getDbConnectionPassword()
JDBCRealm.getConnectionPassword()public void setDbConnectionPassword(java.lang.String dbConnectionPassword)
dbConnectionPassword - passwordJDBCRealm.setConnectionPassword(String)public java.lang.String getDbConnectionURL()
JDBCRealm.getConnectionURL()public void setDbConnectionURL(java.lang.String dbConnectionURL)
dbConnectionURL - The new connection URLJDBCRealm.setConnectionURL(String)public java.lang.String getDriverName()
JDBCRealm.getDriverName()public void setDriverName(java.lang.String driverName)
driverName - The driver nameJDBCRealm.setDriverName(String)public 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 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)