gpt4 book ai didi

java - 如何在 Apache Mina sshd-core 版本 0.14.0 中覆盖 getVirtualUserDir()

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:43:57 25 4
gpt4 key购买 nike

我使用 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<String, String> roots, String current)

请注意,文档声称不直接调用构造函数,而是使用 NativeFileSystemFactory。但是 NativeFileSystemFactory 从不调用构造函数的重载。评论已过时或工厂尚未完成。

或者这是一个拼写错误,它实际上应该引用 VirtualFileSystemFactory。您可能应该使用什么工厂而不是覆盖 NativeFileSystemFactory

sshd.setFileSystemFactory(new VirtualFileSystemFactory("C:/root"));

关于java - 如何在 Apache Mina sshd-core 版本 0.14.0 中覆盖 getVirtualUserDir(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com