dans mon projet, j'ai un utilisateur avec 2 positions, donc, j'ai ajouté un utilisateur avec 2 rôles dans le tableau AspNetUserRoles dans ma base de données,plusieurs rôles pour un utilisateur dans l'identité aspnet
ainsi, par exemple, mon utilisateur avec ce nom d'utilisateur: « [email protected] » a 2 rôles: « comptable » et « ExecutiveExpert »
mais quand je l'appelle User.IsInRole("ExecutiveExpert")
fonction, il suffit de vérifier le premier rôle: comptable, pas tous les rôles (comptable et ExecutiveExpert) et il renvoie false,
comment puis-je modifier l'identité asp.net pour vérifier tous les rôles d'utilisateur? Est-ce possible en général?
ce sont mes tables:
[AspNetUsers]:ID: c35721e2-05ef-4c32-8915-b4ad117c5a98
[AspNetRoles]:
Id Name
743f5c09-2b94-4da6-ab1c-9c9a6c9373b7 accountant
845efdf6-ab07-475c-9eb1-b14365b1a54c ExecutiveExpert
[AspNetUserRoles]:
userID RoleID
c35721e2-05ef-4c32-8915-b4ad117c5a98 743f5c09-2b94-4da6-ab1c-9c9a6c9373b7
c35721e2-05ef-4c32-8915-b4ad117c5a98 845efdf6-ab07-475c-9eb1-b14365b1a54c
Je ne comprends pas ce que vous dites. 'User.IsInRole' vous donnera juste un booléen. S'il a le rôle spécifié, vous obtiendrez vrai, sinon faux. – mason
Vous devez passer une 'chaîne' à' IsInRole'. Voir [les docs] (https://msdn.microsoft.com/en-us/library/system.web.security.roleprincipal.isinrole (v = vs.110) .aspx) –
@mason: Je viens de modifier ma question , pourriez-vous s'il vous plait le relire? Je vous remercie. –