2008-10-30 16 views
7

Notre société fabrique l'application Web tarifée par station de travail. Cela signifie que les informations d'identification d'utilisateur/d'accès ne doivent être utilisées qu'à partir d'une machine particulière.Authentification SAAS par siège

Actuellement, ce qui se passe que plusieurs utilisateurs partagent des informations d'identification et nous n'avons aucun moyen d'empêcher cela si elles ne le font pas simultanément.

La nature de l'application est telle que l'utilisateur a besoin de l'utiliser de temps en temps, donc l'incapacité de travailler simultanément ne dérange pas beaucoup les utilisateurs et l'entreprise perd ses revenus potentiels.

L'application est actuellement purement AJAX sans applets flash/activeX/Java.

La solution idéale serait de lire le nom de l'ordinateur ou l'adresse IP du client avec javascript en utilisant l'interface de script "Shell.Network". Mais cela est impossible à cause des paramètres de sécurité stricts dans Internet Explorer. Je dois mentionner que la fonctionnalité de navigateur croisé n'a pas d'importance et le seul navigateur pris en charge est IE.

Recherche google Je suis tombé sur cette solution ici http://www.reglos.de/myaddress/MyAddress.html mais il nécessite l'applet JAVA donc ne sera pas très pratique.

Y a-t-il d'autres solutions pour cela?

Répondre

3

Définissez un cookie sur la machine avec un ID. Récupérez le cookie chaque fois que l'utilisateur se connecte. Si vous voyez plusieurs cookies alternant pour un seul utilisateur, vous savez que vous avez quelque chose d'étrange.

(Bien sûr, un seul interrupteur peut simplement signifier qu'ils ont déplacés vers un nouveau PC comme un off.)

Alternativement, le prix par l'utilisation, « requête » ou un autre élément.

+0

Il semble que la solution basée sur les cookies serait la meilleure. Nous allons l'essayer – SparcU

0

Il n'y a pas de réponse facile car vos clients (le logiciel) sont effectivement anonymes et les utilisateurs s'auto-identifient.

Pour IE "lock-out" (je ne suis pas un expert IE), mais les paramètres IE ne peuvent pas être définis pour des domaines particuliers? Vous pouvez simplement exiger que les utilisateurs configurent leurs navigateurs pour donner à votre application un accès supérieur.

Je ne vois aucune raison pour laquelle vous ne pouvez pas avoir certaines exigences pour le navigateur des utilisateurs (c'est-à-dire uniquement IE 6/7/8, ces paramètres de sécurité, etc.).

4

Votre modèle de licence n'est pas cohérent avec le modèle de livraison. Changez l'un d'entre eux.

+0

+1, car le Web est sans état. Il est déjà assez difficile de suivre un seul utilisateur. –

+0

Quel genre de changement suggéreriez-vous? –

1

Ce type d'abus peut probablement être détecté modérément efficacement en utilisant la technique Cookie suggérée par RichH. Au moins un abus flagrant peut être détecté assez facilement (disons 10 utilisateurs sous licence, 100 utilisateurs réels). Mais, bien sûr, ne verrouillez pas l'utilisateur, surveillez simplement la situation et demandez à vos commerciaux de vous appeler pour leur suggérer d'acheter plus de licences. Nous faisons exactement la même chose (en termes de licence et de livraison), et je suis sûr que vous avez de bonnes raisons commerciales pour ne pas changer votre modèle.

1

Suivre les sessions par utilisateur. Ne pas autoriser plusieurs sessions à un seul utilisateur.Pour ce faire, vous devrez enregistrer l'ID de session dans la base de données et vérifier chaque fois qu'un utilisateur se connecte.

Pour aider les utilisateurs qui ont parfois un problème de navigateur et se reconnecter avec une nouvelle session, leur permettre de se déconnecter de leur session précédente ... afin que vous puissiez tuer l'ancienne session et enregistrer le nouveau.

Espérons que cela soit utile.