Authentication for a browser-based application dependent on the client machine

How do I make authentication for a browser based application dependent on the client machine? Let's say an administrator can only log in from this machine .

Assumptions. There is complete control over the network and all machines (client and server).

I am looking for an apache / linux solution.

+1


source to share


2 answers


You need to find a way to identify this car. What's important to your application? Physical location? IP address?

If you have full control over the machines, I would use SSL with client certificates and only place the client certificate on the machine that is to be used. See here for details on how to set this up with Apache

As this article says, you can install Apache to require a certificate, username and password AND restrict connectivity to IP addresses.

EDIT: You don't need a separate web server to use client certificates.



You may need a separate URL depending on how your application works.

Please note that the example configures certificates for a specific directory only

 <Directory "/www/hidden/docs">

      

... So, some user login classes do differently or redirect them after logging into a client-protected part of your website.

+2


source


If you are worried about a malicious attempt to trick a client workstation on the network, you can examine the IPSEC setting on the client and server, then you can simply use the IP address and assume it is trusted - that is, use standard Apache IP access control methods.

Or, if you think your network is trusted, just give the client a static IP and use the standard apache methods to restrict access by IP.



Both require some network-level admin work, but a bonus you don't need to change your application.

0


source







All Articles