web-dev-qa-db-fra.com

Identité ASP.NET - UserManager personnalisé, UserStore

Je suis un peu confus avec la personnalisation de UserManager et UserStore. La solution prête à l'emploi est livrée avec l'implémentation EF et je ne veux pas utiliser EF mais mon propre DAL qui utilise MSSQL. Je veux avoir une sécurité basée sur les revendications, où l'un des utilisateurs sera les rôles.

Ce qui me confond, c'est le processus global que je devrais faire. D'après ce que je comprends jusqu'à présent, c'est que je dois faire le mien

CustomApplicationUser : IUser
CustomUserManager : UserManager<CustomApplicationUser>
CustomUserStore : IUserStore, IUserClaimStore

Des questions:

  1. Suis-je sur la bonne voie avec ça?
  2. Je veux utiliser la méthode IsInRole () sur mon CustomUserManager mais je ne sais pas comment le faire avec les revendications. Je sais qu'il y a IUserRoleStore.IsInRole () que UserManager par défaut appelle dans UserManager.IsInRole () mais je ne veux pas de table de rôles séparée dans ma base de données. Ce que je veux, c'est une table DB de revendications avec l'un des ClaimType étant Role et que UserManager.IsInRole () l'utilise. Maintenant, je ne sais pas vraiment pourquoi aurais-je besoin de la méthode UserManager.IsInRole ()? Aurais-je réellement besoin d'avoir quelque chose comme CustomIndemnity SignInManager.CreateUserIdentityAsync () et à l'intérieur de celui-ci, j'appelle ma propre implémentation de remplir toutes les informations des utilisateurs, y compris les revendications?

Cela semble un peu déroutant pour moi et je n'arrive pas à trouver de documentation claire à ce sujet, donc si quelqu'un pouvait apporter un peu de lumière, je l'apprécierais beaucoup!

11
dee zg

Au lieu de simplement copier, je vais simplement vous indiquer l'article suivant: Présentation des fournisseurs de stockage personnalisés pour l'identité ASP.NET .

Jetez un œil à cela, cela devrait vous donner un bon aperçu du fonctionnement de l'identité dans ASP.NET. C'est également bon pour choisir ce que vous souhaitez remplacer et personnaliser dans votre application.

8
Dawid Rutkowski