bah si la structure que j'ai détaillée te va elle n'est pas trop trop mauvaise
tu as cependant un autre choix qui me parait un peu mieux :
on pourrait se poser la question de à quoi ça sert d'avoir le login/password stocké sur le serveur ?
le serveur pourrait très bien se borner à avoir une table avec la correspondance login/ip machine home
c'est le client qui aurait la base de donnée complète avec le password et les paramètres
quand le serveur reçois une demande de login, il appelle un web service du client (voir description tout en dessous) pour savoir si le password est valide
si c'est le cas, le serveur ouvre la page web du client
cette architecture éviterais les problèmes d'ouverture de la DB sur l'extérieur
et ça serait aussi plus logique, en effet c'est dans le client sur le pc home qu'on définit le login password
ça n'élimine pas tous les problèmes non plus, il faudra de toute façon faire aussi un web service sur le serveur pour que le client puisse lui envoyer son ip actuelle
maintenant, je n'ai pas énormément d'expérience dans ce genre d'architecture non plus

un web service ce sont des méthodes que l'on peut appeler via le web en utilisant à peu près n'importe quel langage
la communication se fait en SOAP (en XML quoi)
en tout cas en C#, c'est extrêmement facile à mettre en place