如何在Apache Mina sshd-core版本0.14.0中覆盖getVirtualUserDir()
我使用Apache Mina sshd-core版本0.10.0。由于文件上传的一些问题我不得不将版本更改为0.14.0。在那里我无法覆盖getVirtualUserDir()方法。 以下是我的示例代码,
sshd.setFileSystemFactory(new NativeFileSystemFactory() { @Override public FileSystemView createFileSystemView(final Session session) { return new NativeFileSystemView(session.getUsername(), false) { @Override public String getVirtualUserDir() { return "C:/root"; } }; }; });
我想知道如何在Apache Mina sshd-core版本0.14.0中克服这个问题。 谢谢。
Mina SSHD 0.10.0中getVirtualUserDir
的目的是设置文件系统的初始目录。
在Mina SSHD 0.14.0中, NativeFileSystemView
构造函数的current
参数提供了相同的目的:
public NativeFileSystemView(String userName, Map roots, String current)
请注意,文档声称不直接调用构造函数,而是使用NativeFileSystemFactory
。 但是NativeFileSystemFactory
从不调用构造函数的重载。 评论已过时或工厂尚未完成。
或者它是一个错字,它应该实际上引用VirtualFileSystemFactory
。 你可能应该使用什么工厂而不是重写NativeFileSystemFactory
。
sshd.setFileSystemFactory(new VirtualFileSystemFactory("C:/root"));