I have .NET web application running on IIS behind the firewall.
Application is using Windows authentication (NTLM) to authenticate users.
I need to make this application accessible from Internet so that:
- When user tries to access application, login form is shown, generated by [Reverse Proxy].
- User enters login and password and submits the form.
- [Reverse Proxy] matches external credentials to Windows credentials, we are Ok to store Windows domain logins and passwords in some DB.
- [Reverse Proxy] provides access to web application using provided credentials.
To be clear, I do not want NTLM passthrough to the user, I need [Reverse Proxy] to speak to IIS on user's behalve instead. User may enter different credentials, may use other authentication type (Google, FB etc) and [Reverse Proxy] will match external account to internal one. E.g. employees will configure external accounts they want use to access intranet portal.
What are my options?
Can I use Nginx or Squid to implement such scenario with help of custom module / plugin?