Question

J'ai une application ASP.NET MVC dans lequel je viens intégré le tiers RPX système d'identité fédérée. L'intégration fonctionne bien, mais je suis un peu de mal envelopper ma tête autour de ce qu'il faut faire avec elle au niveau ASP.NET.

Parce que l'identité est traitée à l'extérieur, je n'ai pas besoin de mots de passe dans mon application: Je ne reçois jamais le mot de passe de l'utilisateur, juste leur identité. Cependant, les choses du fournisseur ASP.NET Membership nécessite des mots de passe sont passés autour afin de créer un utilisateur, connectez-vous un utilisateur, etc.

J'ai envisage d'utiliser new Guid() au moment de la création, mais cela nécessiterait un appel à la base de données pour récupérer le mot de passe de l'utilisateur avant que je puisse signer l'utilisateur via le fournisseur d'appartenances. Je pourrais utiliser le même mot de passe pour chaque utilisateur afin qu'il soit connu à l'avance, mais je crains que cela rendrait l'insécurité de mon utilisateur de données.

Je serais intéressé d'entendre comment d'autres sites de traiter cette question, par exemple, StackOverflow.

[S'il vous plaît voir aussi mon autre question , en ce qui concerne les fournisseurs d'adhésion à une telle application.]

Était-ce utile?

La solution

  

mais je crains que cela rendrait l'insécurité de mon utilisateur de données.

Commencez par faire en sorte que personne ne peut authentifier directement sur votre base de données en utilisant un nom d'utilisateur et mot de passe - J'imagine que cela est déjà le cas que vous utilisez RPX pour faire l'authentification réelle, et vous n'invoquez le fournisseur d'appartenances ASP.NET une fois vous avez déjà établi l'identité de l'utilisateur.

Ensuite, le mot de passe stocké sur votre côté devient immatériel, parce que ce n'est pas un secret - si je peux travailler ce que le mot de passe de quelqu'un est de votre côté, il ne compromet pas soudainement leurs données parce que je ne peux toujours pas vous connecter en utilisant ce information. Le secret de l'utilisateur est géré par le fournisseur 3ème partie, pas vous.

Alors vous pourriez aussi bien stocker ce qui est plus pratique (soit une valeur factice bien connue) - vous pourriez aussi bien désactiver le cryptage par mot de passe et le fournisseur d'appartenances, pour revenir quelques cycles sur le serveur. Aucun point de cryptage / valeurs de hachage qui ne sont pas utilisés pour vérifier l'identité de personne.

Autres conseils

Pourquoi l'adhésion de l'utilisation de asp.net alors? Il ne correspond pas vraiment à vous ce que vous faites qui est l'authentification 3ème partie. Peut-être que vous pourriez avoir un regard sur le projet dotnetopenid et des exemples comme ils ont un asp classique. exemple net du site que vous pouvez modifier pour mvc? Ils ont un wiki Peut-être que google dotnetopenid mvc?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top