Zulassen von anonymem login in org.apache.ftpserver?
Schrieb ich ein kleines Codebeispiel zum starten eines ftp-Servers eingebettet in meiner Anwendung. Es basiert auf apache-ftpserver
Fand ich, dass der anonyme Benutzer kann sich nicht anmelden. Client führt get 530.
Muss ich hinzufügen, dass ein configure-Datei für ftp? Ich kann nicht finden, eine API zu erstellen, die einen Benutzer hinzufügen, um UserManger.
private void start_ftp() throws FtpException {
FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
//set the port of the listener
factory.setPort(DEF_FTP_PORT);
//replace the default listener
serverFactory.addListener("default", factory.createListener());
Ftplet fl = new MyFtplet();
Map<String, Ftplet> map_ftplest = new LinkedHashMap<String, Ftplet>();
map_ftplest.put("default", fl);
serverFactory.setFtplets(map_ftplest);
UserManagerFactory u_factory = new PropertiesUserManagerFactory();
UserManager u_manager = u_factory.createUserManager();
//u_manager.
Boolean b = u_manager.doesExist("anonymous");
serverFactory.setUserManager(u_manager);
//start the server
server = serverFactory.createServer();
server.start();
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erreichen anonymous-login durch den Apache FtpServer, müssen Sie aktivieren Sie die anonyme Authentifizierung und fügen Sie dann eine "anonyme" Benutzer UserManager.
Hier ist ein snippet setzt die anonyme Authentifizierung:
Können Sie dann einen UserManager, die authentifiziert und autorisiert Anmeldungen. Hier ist ein eigener UserManagerFactory und AbstractUserManager:
Das bit, das wirklich zählt, ist die Rückkehr von anonUser.
HTH
Einen eigenen UserManager ist nicht erforderlich. Versuchen Sie dies:
Versuchen Sie
anon-enabled="true"
in Ihrer server-Konfiguration.