Je crée un site ASP.NET MVC où je souhaite utiliser DotNetOpenAuth pour implémenter la connexion OpenID (je supprime complètement le nom d'utilisateur/mot de passe de connexion). Jusqu'ici, j'ai écrit mon code pour le système nom d'utilisateur/mot de passe par défaut avec le fournisseur d'appartenance ASP.NET, en utilisant le système de rôles, le système de profil et le système d'enregistrement de base. Maintenant, dans ma migration vers OpenID, je prévois quelques problèmes, en particulier avec interfaçage avec les contrôles d'appartenance fournis par le fournisseur d'appartenance ASP.NET. En regardant l'exemple DotNetOpenAuth MVC, je vois que les seules références au système FormsAuthentication sont de créer un AuthCookie
et plus tard d'appeler FormsAuthentication.SignOut()
. Par conséquent, je ne suis pas sûr de pouvoir utiliser les fonctions ASP.NET Membership Provider avec ce système OpenID, bien qu'une autre partie de l'exemple de code appelle User.Identity.IsAuthenticated
.Utilisation de OpenID (via DotNetOpenAuth) ainsi que des rôles utilisateur et d'autres fonctionnalités de fournisseur d'appartenance
Est-ce que cette interface système OpenID avec le fournisseur ASP.NET Membership? Sinon, puis-je résoudre ce problème?
Si ce qui précède est complètement impossible, je pense que mon prochain plan d'action serait de simplement rouler mes propres tables de base de données et écrire manuellement le code pour les utiliser à partir de mon contrôleur de compte. J'ai remarqué que le Stack Exchange Data Explorer prend cette approche, mais est-ce que ce serait le bon plan d'action?
EDIT: juste pour être sûr que je utilise la terminologie correcte, par « adhésion ASP.NET Provider », je veux dire le fournisseur qui utilise les tables générées par l'outil aspnet_regsql.exe
.
Merveilleuse réponse - mettra en œuvre aujourd'hui. Merci beaucoup! –
Et je peux toujours utiliser 'Membership.GetUser()', non? –
Oui, vous pouvez toujours utiliser Membership.GetUser(). Dès que vous passez le nom d'utilisateur à RedirectFromLoginPage, vous êtes essentiellement égal à ce qui se serait passé avec les contrôles de connexion intégrés. – jwsample