Bem, você exige que os usuários autentiquem fornecendo uma senha, portanto, não é compartilhamento de arquivos, mas sim controle de acesso. Soa como o que você deseja alcançar vai além do que é prático para construir usando as facilidades do servidor web. Em vez disso, você parece ser mais bem atendido por um aplicativo.
Felizmente, você está mencionando um aplicativo CMS / CRM na sua descrição do problema. É aqui que eu começaria a procurar possibilidades de mediação de acesso aos arquivos que você pretende compartilhar. Algum programa do servidor iria transmitir os arquivos para o cliente após a autenticação bem-sucedida (ou dentro da sessão); ou, como alternativa, fornecer URLs de download com um token de acesso imprevisível e um curto tempo de vida, como um minuto.