Class DataSourceLoginService

  • All Implemented Interfaces:
    org.eclipse.jetty.security.LoginService, org.eclipse.jetty.util.component.LifeCycle

    public class DataSourceLoginService
    extends org.eclipse.jetty.security.MappedLoginService
    DataSourceUserRealm

    Obtain user/password/role information from a database via jndi DataSource.

    • Constructor Detail

      • DataSourceLoginService

        public DataSourceLoginService()
      • DataSourceLoginService

        public DataSourceLoginService​(String name)
      • DataSourceLoginService

        public DataSourceLoginService​(String name,
                                      org.eclipse.jetty.security.IdentityService identityService)
    • Method Detail

      • setJndiName

        public void setJndiName​(String jndi)
      • getJndiName

        public String getJndiName()
      • setServer

        public void setServer​(org.eclipse.jetty.server.Server server)
      • getServer

        public org.eclipse.jetty.server.Server getServer()
      • setCreateTables

        public void setCreateTables​(boolean createTables)
      • getCreateTables

        public boolean getCreateTables()
      • setUserTableName

        public void setUserTableName​(String name)
      • getUserTableName

        public String getUserTableName()
      • getUserTableKey

        public String getUserTableKey()
      • setUserTableKey

        public void setUserTableKey​(String tableKey)
      • getUserTableUserField

        public String getUserTableUserField()
      • setUserTableUserField

        public void setUserTableUserField​(String tableUserField)
      • getUserTablePasswordField

        public String getUserTablePasswordField()
      • setUserTablePasswordField

        public void setUserTablePasswordField​(String tablePasswordField)
      • getRoleTableName

        public String getRoleTableName()
      • setRoleTableName

        public void setRoleTableName​(String tableName)
      • getRoleTableKey

        public String getRoleTableKey()
      • setRoleTableKey

        public void setRoleTableKey​(String tableKey)
      • getRoleTableRoleField

        public String getRoleTableRoleField()
      • setRoleTableRoleField

        public void setRoleTableRoleField​(String tableRoleField)
      • getUserRoleTableName

        public String getUserRoleTableName()
      • setUserRoleTableName

        public void setUserRoleTableName​(String roleTableName)
      • getUserRoleTableUserKey

        public String getUserRoleTableUserKey()
      • setUserRoleTableUserKey

        public void setUserRoleTableUserKey​(String roleTableUserKey)
      • getUserRoleTableRoleKey

        public String getUserRoleTableRoleKey()
      • setUserRoleTableRoleKey

        public void setUserRoleTableRoleKey​(String roleTableRoleKey)
      • setCacheMs

        public void setCacheMs​(int ms)
      • getCacheMs

        public int getCacheMs()
      • loadUsers

        protected void loadUsers()
        Specified by:
        loadUsers in class org.eclipse.jetty.security.MappedLoginService
      • loadUser

        @Deprecated
        protected org.eclipse.jetty.server.UserIdentity loadUser​(String userName)
        Deprecated.
        Load user's info from database.
        Specified by:
        loadUser in class org.eclipse.jetty.security.MappedLoginService
        Parameters:
        userName - the user name
      • loadUserInfo

        public org.eclipse.jetty.security.MappedLoginService.KnownUser loadUserInfo​(String username)
        Specified by:
        loadUserInfo in class org.eclipse.jetty.security.MappedLoginService
        See Also:
        MappedLoginService.loadUserInfo(java.lang.String)
      • loadRoleInfo

        public String[] loadRoleInfo​(org.eclipse.jetty.security.MappedLoginService.KnownUser user)
        Specified by:
        loadRoleInfo in class org.eclipse.jetty.security.MappedLoginService
        See Also:
        MappedLoginService.loadRoleInfo(org.eclipse.jetty.security.MappedLoginService.KnownUser)
      • login

        public org.eclipse.jetty.server.UserIdentity login​(String username,
                                                           Object credentials,
                                                           javax.servlet.ServletRequest request)
        Specified by:
        login in interface org.eclipse.jetty.security.LoginService
        Overrides:
        login in class org.eclipse.jetty.security.MappedLoginService
      • initDb

        public void initDb()
                    throws NamingException,
                           SQLException
        Lookup the datasource for the jndiName and formulate the necessary sql query strings based on the configured table and column names.
        Throws:
        NamingException - if unable to init jndi
        SQLException - if unable to init database