Closed fatmatto closed 2 years ago
Hi @fatmatto, no you're not missing something. It's something we would like to add to libunftp so its not there at the moment. At the moment we've added it to unFTP server here. I thought of making a crate out of this but perhaps you can copy it and adapt it for your needs until we release that as a crate.
You will need something like that and to also define your own UserDetail
implementation that will hold the root directory of each user. In unFTP its here.
Please let us know how the Rest Authenticator works for you and where we can improve.
Hi @fatmatto, no you're not missing something. It's something we would like to add to libunftp so its not there at the moment. At the moment we've added it to unFTP server here. I thought of making a crate out of this but perhaps you can copy it and adapt it for your needs until we release that as a crate.
You will need something like that and to also define your own
UserDetail
implementation that will hold the root directory of each user. In unFTP its here.Please let us know how the Rest Authenticator works for you and where we can improve.
Thank you for your reply @hannesdejager , it seems to be exatcly what I'm trying to achieve, thanks for the "pointer", I will look into it.
Regarding the rest authenticator, it was very easy to use for me, the only thing i had to do to make it work is to add an endpoint on the upstream auth service to accept credentials via request body, it was looking for credentials in http headers and the authenticator does not support custom headers.
For more context, I'm migrating an existing FTP service written in NodeJS to Rust (evaluating Rust as Node replacement for core services)
Very nice to hear and super about the use case here. Go go Rust!
Hello,
Is it possible to have each client confined in a different directory?
My use case would be to use the rest authenticator and the filesystem storage to authenticate each client trying to connect to the server, then ,given the credentials they provided, assign the correct root directory.
I was only able to provide a global root directory for every client, but maybe I'm missing something since I'm new to Rust