how to provide a web interface to sftp server

Having "sftp://" links will indeed require you have a sftp-capable client registered to handle the sftp UNC and will also require a re-login unless you provide the username/password in the unc... i.e. sftp://user:[email protected]/path/file. This really defeats the purpose of having a separate sftp server from the http server.

Why not simply establish a HTTPS session with whatever authentication method you choose to use, and let the http server dish out the files? If you're using apache, you can allow directory browsing, and it will auto-generate the directory listing from a specific directory... and you can make the sftp pull from the same directory. (if you wish to use both)

If you are stuck on using sftp... don't forget to restrict user logins using ssh to ONLY allow sftp and/or scp... or you will be leaving yourself open to a big security hole.

Have you considered the File Manager inside Usermin? You can serve Usermin over HTTPS and that will be secure, and while you didn't mention what OS you're using, Webmin/Usermin are available for a wide variety of systems.

Why do is there a requirement for sftp? Have you considered just setting up an webdav? With webdav users will be able to but put and get files directly via HTTP(S).