J'ai un fournisseur de rôle personnalisé qui obtient les rôles auxquels un utilisateur appartient à partir d'une base de données. J'ai également un module d'authentification personnalisé enregistré dans httpModules de mon web.config qui renifle les demandes HTTP entrantes et (si c'est une demande signée OAuth) définit la propriété HttpContext.Current.User pour emprunter l'identité de l'utilisateur, et l'IPrincipal qu'il définit inclut tous les rôles de l'utilisateur, plus un supplémentaire appelé "délégué". Le problème est que, après avoir défini mon IPrincipal personnalisé, ASP.NET appelle toujours mon fournisseur de rôles personnalisé, puis réinitialise IPrincipal avec celui qui a uniquement les rôles standard pour cet utilisateur.Comment empêcher RoleProvider de remplacer des rôles personnalisés?
Si je mets <roleManager enabled="false" ...>
dans mon fichier web.config, les rôles assignés du module d'authentification restent. Évidemment, je veux le meilleur des deux mondes. Comment puis-je utiliser le fournisseur de rôle, mais "annuler" l'effet du fournisseur de rôle lorsque mon module d'authentification décide de le faire?