Package org.eclipse.jetty.plus.security
Class DataSourceLoginService
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.security.AbstractLoginService
-
- org.eclipse.jetty.plus.security.DataSourceLoginService
-
- All Implemented Interfaces:
LoginService,Container,Destroyable,Dumpable,Dumpable.DumpableContainer,LifeCycle
public class DataSourceLoginService extends AbstractLoginService
DataSourceUserRealmObtain user/password/role information from a database via jndi DataSource.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classDataSourceLoginService.DBUserPrincipalDBUser-
Nested classes/interfaces inherited from class org.eclipse.jetty.security.AbstractLoginService
AbstractLoginService.RolePrincipal, AbstractLoginService.UserPrincipal
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description private boolean_createTablesprivate javax.sql.DataSource_datasourceprivate java.lang.String_jndiNameprivate java.lang.String_roleSqlprivate java.lang.String_roleTableKeyprivate java.lang.String_roleTableNameprivate java.lang.String_roleTableRoleFieldprivate Server_serverprivate java.lang.String_userRoleTableNameprivate java.lang.String_userRoleTableRoleKeyprivate java.lang.String_userRoleTableUserKeyprivate java.lang.String_userSqlprivate java.lang.String_userTableKeyprivate java.lang.String_userTableNameprivate java.lang.String_userTablePasswordFieldprivate java.lang.String_userTableUserFieldprivate static LoggerLOG-
Fields inherited from class org.eclipse.jetty.security.AbstractLoginService
_fullValidate, _identityService, _name
-
-
Constructor Summary
Constructors Constructor Description DataSourceLoginService()DataSourceLoginService(java.lang.String name)DataSourceLoginService(java.lang.String name, IdentityService identityService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.sql.ConnectiongetConnection()booleangetCreateTables()java.lang.StringgetJndiName()java.lang.StringgetRoleTableKey()java.lang.StringgetRoleTableName()java.lang.StringgetRoleTableRoleField()ServergetServer()java.lang.StringgetUserRoleTableName()java.lang.StringgetUserRoleTableRoleKey()java.lang.StringgetUserRoleTableUserKey()java.lang.StringgetUserTableKey()java.lang.StringgetUserTableName()java.lang.StringgetUserTablePasswordField()java.lang.StringgetUserTableUserField()voidinitDb()Lookup the datasource for the jndiName and formulate the necessary sql query strings based on the configured table and column names.java.lang.String[]loadRoleInfo(AbstractLoginService.UserPrincipal user)AbstractLoginService.UserPrincipalloadUserInfo(java.lang.String username)private voidprepareTables()voidsetCreateTables(boolean createTables)voidsetJndiName(java.lang.String jndi)voidsetRoleTableKey(java.lang.String tableKey)voidsetRoleTableName(java.lang.String tableName)voidsetRoleTableRoleField(java.lang.String tableRoleField)voidsetServer(Server server)voidsetUserRoleTableName(java.lang.String roleTableName)voidsetUserRoleTableRoleKey(java.lang.String roleTableRoleKey)voidsetUserRoleTableUserKey(java.lang.String roleTableUserKey)voidsetUserTableKey(java.lang.String tableKey)voidsetUserTableName(java.lang.String name)voidsetUserTablePasswordField(java.lang.String tablePasswordField)voidsetUserTableUserField(java.lang.String tableUserField)-
Methods inherited from class org.eclipse.jetty.security.AbstractLoginService
getIdentityService, getName, isFullValidate, login, logout, setFullValidate, setIdentityService, setName, toString, validate
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStart, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
_jndiName
private java.lang.String _jndiName
-
_datasource
private javax.sql.DataSource _datasource
-
_server
private Server _server
-
_userTableName
private java.lang.String _userTableName
-
_userTableKey
private java.lang.String _userTableKey
-
_userTableUserField
private java.lang.String _userTableUserField
-
_userTablePasswordField
private java.lang.String _userTablePasswordField
-
_roleTableName
private java.lang.String _roleTableName
-
_roleTableKey
private java.lang.String _roleTableKey
-
_roleTableRoleField
private java.lang.String _roleTableRoleField
-
_userRoleTableName
private java.lang.String _userRoleTableName
-
_userRoleTableUserKey
private java.lang.String _userRoleTableUserKey
-
_userRoleTableRoleKey
private java.lang.String _userRoleTableRoleKey
-
_userSql
private java.lang.String _userSql
-
_roleSql
private java.lang.String _roleSql
-
_createTables
private boolean _createTables
-
-
Constructor Detail
-
DataSourceLoginService
public DataSourceLoginService()
-
DataSourceLoginService
public DataSourceLoginService(java.lang.String name)
-
DataSourceLoginService
public DataSourceLoginService(java.lang.String name, IdentityService identityService)
-
-
Method Detail
-
setJndiName
public void setJndiName(java.lang.String jndi)
-
getJndiName
public java.lang.String getJndiName()
-
setServer
public void setServer(Server server)
-
getServer
public Server getServer()
-
setCreateTables
public void setCreateTables(boolean createTables)
-
getCreateTables
public boolean getCreateTables()
-
setUserTableName
public void setUserTableName(java.lang.String name)
-
getUserTableName
public java.lang.String getUserTableName()
-
getUserTableKey
public java.lang.String getUserTableKey()
-
setUserTableKey
public void setUserTableKey(java.lang.String tableKey)
-
getUserTableUserField
public java.lang.String getUserTableUserField()
-
setUserTableUserField
public void setUserTableUserField(java.lang.String tableUserField)
-
getUserTablePasswordField
public java.lang.String getUserTablePasswordField()
-
setUserTablePasswordField
public void setUserTablePasswordField(java.lang.String tablePasswordField)
-
getRoleTableName
public java.lang.String getRoleTableName()
-
setRoleTableName
public void setRoleTableName(java.lang.String tableName)
-
getRoleTableKey
public java.lang.String getRoleTableKey()
-
setRoleTableKey
public void setRoleTableKey(java.lang.String tableKey)
-
getRoleTableRoleField
public java.lang.String getRoleTableRoleField()
-
setRoleTableRoleField
public void setRoleTableRoleField(java.lang.String tableRoleField)
-
getUserRoleTableName
public java.lang.String getUserRoleTableName()
-
setUserRoleTableName
public void setUserRoleTableName(java.lang.String roleTableName)
-
getUserRoleTableUserKey
public java.lang.String getUserRoleTableUserKey()
-
setUserRoleTableUserKey
public void setUserRoleTableUserKey(java.lang.String roleTableUserKey)
-
getUserRoleTableRoleKey
public java.lang.String getUserRoleTableRoleKey()
-
setUserRoleTableRoleKey
public void setUserRoleTableRoleKey(java.lang.String roleTableRoleKey)
-
loadUserInfo
public AbstractLoginService.UserPrincipal loadUserInfo(java.lang.String username)
- Specified by:
loadUserInfoin classAbstractLoginService
-
loadRoleInfo
public java.lang.String[] loadRoleInfo(AbstractLoginService.UserPrincipal user)
- Specified by:
loadRoleInfoin classAbstractLoginService
-
initDb
public void initDb() throws javax.naming.NamingException, java.sql.SQLExceptionLookup the datasource for the jndiName and formulate the necessary sql query strings based on the configured table and column names.- Throws:
javax.naming.NamingException- if unable to init jndijava.sql.SQLException- if unable to init database
-
prepareTables
private void prepareTables() throws javax.naming.NamingException, java.sql.SQLException- Throws:
javax.naming.NamingExceptionjava.sql.SQLException
-
getConnection
private java.sql.Connection getConnection() throws javax.naming.NamingException, java.sql.SQLException- Throws:
javax.naming.NamingExceptionjava.sql.SQLException
-
-