Sécurité Noob ici. J'essaie de passer de l'abonnement asp.net à l'adhésion à Umbraco. Mais l'utilisation de passwordFormat = "Encrypted" semble crypter différemment entre le fournisseur d'appartenance Umbraco et le fournisseur d'appartenances SQL de Microsoft.Mots de passe cryptés dans ASP.net SQLMembershipProvider et fournisseur d'appartenance Umbraco
Si j'inscris deux utilisateurs avec le fournisseur d'appartenances SQL (avec passwordFormat = "Encrypted") - les mots de passe codés sont différents. Si je fais la même chose avec le fournisseur Umbraco, ils sont les mêmes.
Alors que toutes les chaînes déchiffrent la même chose (le mot de passe correct) - Je ne peux apparemment pas utiliser les mots de passe chiffrés par le fournisseur d'appartenances SQL dans la DB umbraco (ValidateUser échoue).
Vous avez des idées?
Remarque: J'utilise la même machineKey sur les deux sites. Editer: Appeler EncryptPassword() et EncodePassword() sur le fournisseur d'appartenance Umbraco donne des résultats différents - et EncodePassword est le bon à appeler. Mais EncodePassword n'est pas disponible sur le fournisseur d'appartenance .NET. C'était une autre partie de ma confusion.
Les mots de passe peuvent être différents car ils sont salés. Vérifiez la colonne PasswordSalt dans la base de données d'adhésion, il devrait s'agir d'une chaîne Base64. – Infotekka
@Infotekka après beaucoup de réflexion, je suis assez sûr que c'est parce que .NET a des sels et Umbraco ne le fait pas. Je n'ai pas réalisé que le cryptage (pas de hachage) peut utiliser un sel (principalement parce que je ne savais pas comment il pourrait revenir au texte d'origine sans connaître le sel). Et maintenant, faire un bon test - si je change le sel, il ne me laissera pas me connecter. Alors c'est tout! –
@Infotekka maintenant j'ai vérifié, voulez-vous faire une vraie réponse et je vais le corriger - merci pour la clarté! –