Class SimpleAccessControlSftpEventListener
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter
-
- org.apache.sshd.contrib.server.subsystem.sftp.SimpleAccessControlSftpEventListener
-
- All Implemented Interfaces:
java.util.EventListener,org.apache.sshd.common.util.SshdEventListener,org.apache.sshd.sftp.server.SftpEventListener
public abstract class SimpleAccessControlSftpEventListener extends org.apache.sshd.sftp.server.AbstractSftpEventListenerAdapterProvides a simple access control by making a distinction between methods that provide information - including reading data - and those that modify it
-
-
Field Summary
Fields Modifier and Type Field Description static SimpleAccessControlSftpEventListenerREAD_ONLY_ACCESSOR
-
Constructor Summary
Constructors Modifier Constructor Description protectedSimpleAccessControlSftpEventListener()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidblocking(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, long length, int mask)voidcreating(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, java.util.Map<java.lang.String,?> attrs)protected abstract booleanisAccessAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, java.nio.file.Path localPath)protected booleanisAccessAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.Handle localHandle)protected abstract booleanisModificationAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, java.nio.file.Path localPath)voidlinking(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path source, java.nio.file.Path target, boolean symLink)voidmodifyingAttributes(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, java.util.Map<java.lang.String,?> attrs)voidmoving(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path srcPath, java.nio.file.Path dstPath, java.util.Collection<java.nio.file.CopyOption> opts)voidopening(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.Handle localHandle)voidreadEntries(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.DirectoryHandle localHandle, java.util.Map<java.lang.String,java.nio.file.Path> entries)voidreading(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen)voidremoved(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, boolean isDirectory, java.lang.Throwable thrown)voidremoving(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, boolean isDirectory)voidunblocking(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, long length)voidwriting(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen)-
Methods inherited from class org.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter
blocked, closed, closing, created, destroying, exiting, initialized, linked, modifiedAttributes, moved, open, openFailed, read, readingEntries, receivedExtension, unblocked, written
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
-
-
-
Field Detail
-
READ_ONLY_ACCESSOR
public static final SimpleAccessControlSftpEventListener READ_ONLY_ACCESSOR
-
-
Method Detail
-
opening
public void opening(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.Handle localHandle) throws java.io.IOException- Specified by:
openingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
openingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
readEntries
public void readEntries(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.DirectoryHandle localHandle, java.util.Map<java.lang.String,java.nio.file.Path> entries) throws java.io.IOException- Specified by:
readEntriesin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
readEntriesin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
reading
public void reading(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) throws java.io.IOException- Specified by:
readingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
readingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
isAccessAllowed
protected boolean isAccessAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.Handle localHandle) throws java.io.IOException- Parameters:
session- TheServerSessionthrow which the request was maderemoteHandle- The remote handle valuelocalHandle- The local handle- Returns:
trueif allowed to access the handle- Throws:
java.io.IOException- If failed to handle the call
-
isAccessAllowed
protected abstract boolean isAccessAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, java.nio.file.Path localPath) throws java.io.IOException- Parameters:
session- TheServerSessionthrow which the request was maderemoteHandle- The remote handle valuelocalPath- The localPath- Returns:
trueif allowed to access the path- Throws:
java.io.IOException- If failed to handle the call
-
writing
public void writing(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) throws java.io.IOException- Specified by:
writingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
writingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
blocking
public void blocking(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, long length, int mask) throws java.io.IOException- Specified by:
blockingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
blockingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
unblocking
public void unblocking(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, org.apache.sshd.sftp.server.FileHandle localHandle, long offset, long length) throws java.io.IOException- Specified by:
unblockingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
unblockingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
creating
public void creating(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, java.util.Map<java.lang.String,?> attrs) throws java.io.IOException- Specified by:
creatingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
creatingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
moving
public void moving(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path srcPath, java.nio.file.Path dstPath, java.util.Collection<java.nio.file.CopyOption> opts) throws java.io.IOException- Specified by:
movingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
movingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
removing
public void removing(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, boolean isDirectory) throws java.io.IOException- Specified by:
removingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
removingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
removed
public void removed(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, boolean isDirectory, java.lang.Throwable thrown) throws java.io.IOException- Specified by:
removedin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
removedin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
linking
public void linking(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path source, java.nio.file.Path target, boolean symLink) throws java.io.IOException- Specified by:
linkingin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
linkingin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
modifyingAttributes
public void modifyingAttributes(org.apache.sshd.server.session.ServerSession session, java.nio.file.Path path, java.util.Map<java.lang.String,?> attrs) throws java.io.IOException- Specified by:
modifyingAttributesin interfaceorg.apache.sshd.sftp.server.SftpEventListener- Overrides:
modifyingAttributesin classorg.apache.sshd.sftp.server.AbstractSftpEventListenerAdapter- Throws:
java.io.IOException
-
isModificationAllowed
protected abstract boolean isModificationAllowed(org.apache.sshd.server.session.ServerSession session, java.lang.String remoteHandle, java.nio.file.Path localPath) throws java.io.IOException- Parameters:
session- TheServerSessionthrow which the request was maderemoteHandle- The remote handle valuelocalPath- The localPath- Returns:
trueif allowed to modify the path- Throws:
java.io.IOException- If failed to handle the call
-
-